reinforcePy is meant to be an easy to use collection of helpers, networks, and learners for reinforcement learning. Right now the project is mainly focused on implementing papers from DeepMind and neural network based methods. There have been a ton of new papers published about deep reinforcement learning but no combined place or package of implementations, that is the main purpose of this library.
Currently supported methods are DQN, Async 1 step DQN & SARSA, and N-step DQN. A3C support is coming soon.
Example usage, trained models, and results can be found under examples/ALE/. A more in depth look at imlementation details can be found in the wiki.
If you don't already I recommend using Anaconda to manage python environments, it also makes installation of Numpy & Scipy a breeze. Required packages:
- NumPy (conda install numpy)
- SciPy (conda install scipy)
- Pillow (conda install pillow)
- Tensorflow
- TFLearn (git clone then python setup.py install)
- Arcade Learning Environment
- OpenAI Gym support is coming soon
Then simply:
git clone https://github.com/Islandman93/reinforcepy
cd reinforcepy/
python setup.py install
This project relies on TensorFlow which does not currently support Windows. When it does there should be no issue using this project in a Windows environment.
Documentation is a work in progress available at: http://reinforcepy.readthedocs.org/.
For support, please submit an issue.
All pull requests are welcome, this project is not tied to any specific reinforcement learning method so feel free to submit any published method.
To hack on the code simply use:
python setup.py develop