keras-rl2  by inarikami

Deep reinforcement learning algorithms in Python, using Keras

created 6 years ago
253 stars

Top 99.5% on sourcepulse

GitHubView on GitHub
Project Summary

This library provides implementations of state-of-the-art deep reinforcement learning algorithms for TensorFlow 2 Keras. It targets researchers and practitioners looking to easily experiment with and extend RL algorithms, offering seamless integration with OpenAI Gym environments and Keras callbacks.

How It Works

The library implements various RL algorithms by extending abstract classes, allowing for easy customization of environments and agents. It leverages Keras for neural network construction and training, enabling the use of built-in or custom callbacks and metrics for monitoring and controlling the learning process.

Quick Start & Requirements

  • Install via pip: pip install keras-rl2
  • Requires tensorflow==2.1.0.
  • Additional dependencies for examples: h5py, Pillow, gym[atari].
  • Official documentation available online.

Highlighted Details

  • Implemented algorithms: DQN, Double DQN, DDPG, Continuous DQN (NAF), CEM, Dueling DQN, Deep SARSA.
  • Seamless integration with OpenAI Gym.
  • Supports custom Keras callbacks and metrics.
  • Easy to implement custom environments and algorithms.

Maintenance & Community

  • Project actively seeks contributions via pull requests.
  • Issues can be filed for questions or problems.

Licensing & Compatibility

  • License not explicitly stated in the README.
  • Compatibility with commercial or closed-source projects is unclear due to the unstated license.

Limitations & Caveats

The library explicitly requires tensorflow==2.1.0, which is an older version and may pose compatibility challenges with current TensorFlow ecosystems. The license is not specified, which could impact commercial use.

Health Check
Last commit

4 years ago

Responsiveness

1+ week

Pull Requests (30d)
0
Issues (30d)
0
Star History
2 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.