All Projects → keras-rl → Keras Rl

keras-rl / Keras Rl

Licence: mit
Deep Reinforcement Learning for Keras.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Keras Rl

Nn
🧑‍🏫 50! Implementations/tutorials of deep learning papers with side-by-side notes 📝; including transformers (original, xl, switch, feedback, vit, ...), optimizers (adam, adabelief, ...), gans(cyclegan, stylegan2, ...), 🎮 reinforcement learning (ppo, dqn), capsnet, distillation, ... 🧠
Stars: ✭ 5,720 (+10.72%)
Mutual labels:  reinforcement-learning, neural-networks
Agentnet
Deep Reinforcement Learning library for humans
Stars: ✭ 298 (-94.23%)
Mutual labels:  reinforcement-learning, theano
Keras Vis
Neural network visualization toolkit for keras
Stars: ✭ 2,900 (-43.86%)
Mutual labels:  neural-networks, theano
Dissecting Reinforcement Learning
Python code, PDFs and resources for the series of posts on Reinforcement Learning which I published on my personal blog
Stars: ✭ 512 (-90.09%)
Mutual labels:  reinforcement-learning, neural-networks
Lasagne
Lightweight library to build and train neural networks in Theano
Stars: ✭ 3,800 (-26.44%)
Mutual labels:  neural-networks, theano
Machine Learning Notebooks
Machine Learning notebooks for refreshing concepts.
Stars: ✭ 222 (-95.7%)
Mutual labels:  reinforcement-learning, neural-networks
Sharpneat
SharpNEAT - Evolution of Neural Networks. A C# .NET Framework.
Stars: ✭ 273 (-94.72%)
Mutual labels:  reinforcement-learning, neural-networks
Deep Cfr
Scalable Implementation of Deep CFR and Single Deep CFR
Stars: ✭ 158 (-96.94%)
Mutual labels:  reinforcement-learning, neural-networks
Deep Reinforcement Learning
Repo for the Deep Reinforcement Learning Nanodegree program
Stars: ✭ 4,012 (-22.34%)
Mutual labels:  reinforcement-learning, neural-networks
Tensorlayer Tricks
How to use TensorLayer
Stars: ✭ 357 (-93.09%)
Mutual labels:  reinforcement-learning, neural-networks
Alphazero gomoku
An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
Stars: ✭ 2,570 (-50.25%)
Mutual labels:  reinforcement-learning, theano
Machine Learning Articles
Monthly Series - Top 10 Machine Learning Articles
Stars: ✭ 516 (-90.01%)
Mutual labels:  reinforcement-learning, neural-networks
Dm control
DeepMind's software stack for physics-based simulation and Reinforcement Learning environments, using MuJoCo.
Stars: ✭ 2,592 (-49.83%)
Mutual labels:  reinforcement-learning, neural-networks
Gam
A PyTorch implementation of "Graph Classification Using Structural Attention" (KDD 2018).
Stars: ✭ 227 (-95.61%)
Mutual labels:  reinforcement-learning, neural-networks
Neural Localization
Train an RL agent to localize actively (PyTorch)
Stars: ✭ 193 (-96.26%)
Mutual labels:  reinforcement-learning, neural-networks
Rlgraph
RLgraph: Modular computation graphs for deep reinforcement learning
Stars: ✭ 272 (-94.73%)
Mutual labels:  reinforcement-learning, neural-networks
Banditml
A lightweight contextual bandit & reinforcement learning library designed to be used in production Python services.
Stars: ✭ 127 (-97.54%)
Mutual labels:  reinforcement-learning, neural-networks
Ml Agents
Unity Machine Learning Agents Toolkit
Stars: ✭ 12,134 (+134.88%)
Mutual labels:  reinforcement-learning, neural-networks
Gdrl
Grokking Deep Reinforcement Learning
Stars: ✭ 304 (-94.12%)
Mutual labels:  reinforcement-learning, neural-networks
Practical rl
A course in reinforcement learning in the wild
Stars: ✭ 4,741 (-8.23%)
Mutual labels:  reinforcement-learning, theano

Deep Reinforcement Learning for Keras

Build Status Documentation License Join the chat at https://gitter.im/keras-rl/Lobby

What is it?

keras-rl implements some state-of-the art deep reinforcement learning algorithms in Python and seamlessly integrates with the deep learning library Keras.

Furthermore, keras-rl works with OpenAI Gym out of the box. This means that evaluating and playing around with different algorithms is easy.

Of course you can extend keras-rl according to your own needs. You can use built-in Keras callbacks and metrics or define your own. Even more so, it is easy to implement your own environments and even algorithms by simply extending some simple abstract classes. Documentation is available online.

What is included?

As of today, the following algorithms have been implemented:

  • Deep Q Learning (DQN) [1], [2]
  • Double DQN [3]
  • Deep Deterministic Policy Gradient (DDPG) [4]
  • Continuous DQN (CDQN or NAF) [6]
  • Cross-Entropy Method (CEM) [7], [8]
  • Dueling network DQN (Dueling DQN) [9]
  • Deep SARSA [10]
  • Asynchronous Advantage Actor-Critic (A3C) [5]
  • Proximal Policy Optimization Algorithms (PPO) [11]

You can find more information on each agent in the doc.

Installation

  • Install Keras-RL from Pypi (recommended):
pip install keras-rl
  • Install from Github source:
git clone https://github.com/keras-rl/keras-rl.git
cd keras-rl
python setup.py install

Examples

If you want to run the examples, you'll also have to install:

For atari example you will also need:

  • Pillow: pip install Pillow
  • gym[atari]: Atari module for gym. Use pip install gym[atari]

Once you have installed everything, you can try out a simple example:

python examples/dqn_cartpole.py

This is a very simple example and it should converge relatively quickly, so it's a great way to get started! It also visualizes the game during training, so you can watch it learn. How cool is that?

Some sample weights are available on keras-rl-weights.

If you have questions or problems, please file an issue or, even better, fix the problem yourself and submit a pull request!

External Projects

You're using Keras-RL on a project? Open a PR and share it!

Visualizing Training Metrics

To see graphs of your training progress and compare across runs, run pip install wandb and add the WandbLogger callback to your agent's fit() call:

from rl.callbacks import WandbLogger

...

agent.fit(env, nb_steps=50000, callbacks=[WandbLogger()])

For more info and options, see the W&B docs.

Citing

If you use keras-rl in your research, you can cite it as follows:

@misc{plappert2016kerasrl,
    author = {Matthias Plappert},
    title = {keras-rl},
    year = {2016},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/keras-rl/keras-rl}},
}

References

  1. Playing Atari with Deep Reinforcement Learning, Mnih et al., 2013
  2. Human-level control through deep reinforcement learning, Mnih et al., 2015
  3. Deep Reinforcement Learning with Double Q-learning, van Hasselt et al., 2015
  4. Continuous control with deep reinforcement learning, Lillicrap et al., 2015
  5. Asynchronous Methods for Deep Reinforcement Learning, Mnih et al., 2016
  6. Continuous Deep Q-Learning with Model-based Acceleration, Gu et al., 2016
  7. Learning Tetris Using the Noisy Cross-Entropy Method, Szita et al., 2006
  8. Deep Reinforcement Learning (MLSS lecture notes), Schulman, 2016
  9. Dueling Network Architectures for Deep Reinforcement Learning, Wang et al., 2016
  10. Reinforcement learning: An introduction, Sutton and Barto, 2011
  11. Proximal Policy Optimization Algorithms, Schulman et al., 2017
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].