ChainerRL is a deep reinforcement learning library built on top of Chainer.
Python Shell
Clone or download
toslunar Merge pull request #286 from mmilk1231/master
Modify `async` to `async_` to support Python 3.7
Latest commit f6c3779 Jul 11, 2018

README.md

ChainerRL

Build Status Coverage Status Documentation Status PyPI

ChainerRL is a deep reinforcement learning library that implements various state-of-the-art deep reinforcement algorithms in Python using Chainer, a flexible deep learning framework.

Breakout Humanoid

Installation

ChainerRL is tested with Python 2.7+ and 3.5.1+. For other requirements, see requirements.txt.

ChainerRL can be installed via PyPI:

pip install chainerrl

It can also be installed from the source code:

python setup.py install

Refer to Installation for more information on installation.

Getting started

You can try ChainerRL Quickstart Guide first, or check the examples ready for Atari 2600 and Open AI Gym.

For more information, you can refer to ChainerRL's documentation.

Algorithms

Algorithm Discrete Action Continous Action Recurrent Model CPU Async Training
DQN (including DoubleDQN etc.) ✓ (NAF) x
Categorical DQN x x
DDPG x x
A3C
ACER
NSQ (N-step Q-learning) ✓ (NAF)
PCL (Path Consistency Learning)
PPO x x
TRPO x x

Following algorithms have been implemented in ChainerRL:

  • A3C (Asynchronous Advantage Actor-Critic)
  • ACER (Actor-Critic with Experience Replay)
  • Asynchronous N-step Q-learning
  • Categorical DQN
  • DQN (including Double DQN, Persistent Advantage Learning (PAL), Double PAL, Dynamic Policy Programming (DPP))
  • DDPG (Deep Deterministic Poilcy Gradients) (including SVG(0))
  • PGT (Policy Gradient Theorem)
  • PCL (Path Consistency Learning)
  • PPO (Proximal Policy Optimization)
  • TRPO (Trust Region Policy Optimization)

Q-function based algorithms such as DQN can utilize a Normalized Advantage Function (NAF) to tackle continuous-action problems as well as DQN-like discrete output networks.

Environments

Environments that support the subset of OpenAI Gym's interface (reset and step methods) can be used.

Contributing

Any kind of contribution to ChainerRL would be highly appreciated! If you are interested in contributing to ChainerRL, please read CONTRIBUTING.md.

License

MIT License.