In recent years, the emergence of deep reinforcement learning (RL) has resulted in the growing demand for their evaluation. To implement and test RL models quickly and reliably, several RL libraries have been developed.
Here we list we such libraries that make the job of an RL researcher easy:
Pyqlearning is a Python library to implement RL, especially for Q-Learning and multi-agent Deep Q-Network. This library makes it possible to design the information search algorithm such as the Game AI, web crawlers, or robotics.
pip install pyqlearning
Keras-RL seamlessly implements state-of-the-art deep reinforcement learning algorithms with the deep learning library Keras. Evaluating and playing around with different algorithms is easy, as Keras-RL works with OpenAI Gym out of the box.
pip install Keras-RL
Tensorforce is an open-source deep reinforcement learning framework, which is relatively straightforward in its usage. Tensorforce is built on top of Google’s TensorFlow framework and is compatible with Python 3
pip3 install tensorforce
from tensorforce.agents import Agent
Reinforcement Learning Coach (RL_Coach) by Intel AI Lab enables easy experimentation with state-of-the-art reinforcement learning algorithms. The Coach can be used directly from python, where it uses the presets mechanism to define the experiments. A preset is mostly a python module which instantiates a graph manager object.
The graph manager is a container that holds the agents and the environments, along with some additional parameters for running the experiment, such as visualization parameters. The graph manager acts as the scheduler which orchestrates the experiment.
With the 1.0.0 release, Intel has added support for batch reinforcement learning in Coach, while also enabling off-policy evaluation (OPE) of the learned policy based on data that was acquired using another policy.
pip3 install rl_coach
# Importing rl_coach submodules
from rl_coach.coach import CoachInterface
ChainerRL is a deep RL library that implements various state-of-the-art deep reinforcement algorithms in Python using Chainer, which is a flexible deep learning framework.
pip install chainerrl
MAME RL library enables users to train your reinforcement learning algorithms on almost any arcade game. The toolkit allows the algorithm to step through gameplay while receiving the frame data, along with sending actions, making it more interactive with the game.
pip install MAMEToolkit
Setting Up Your Game Environment
from src.MAMEToolkit.emulator import see_games
This will bring up the MAME emulator. You can search through the list of games to find the one you want. The id of the game is always in brackets at the end of the game title.
from src.MAMEToolkit.emulator import run_cheat_debugger
roms_path = “roms/” # Replace this with the path to your ROMs
game_id = “sfiii3n”
MushroomRL is a Python reinforcement learning library whose modularity allows to use well-known Python libraries for tensor computation (e.g. PyTorch, Tensorflow) and RL benchmarks (e.g. OpenAI Gym, PyBullet, Deepmind Control Suite). It merely allows performing RL experiments providing classical RL algorithms (e.g. Q-Learning, SARSA, FQI), and deep RL algorithms.
pip3 install mushroom_rl
MushroomRL adapts to heterogeneous learning tasks which enables one to focus on modelling the interaction of an agent with an environment.
This feature is made possible with the help of batch and online algorithms; episodic and infinite horizon tasks; on-policy and off-policy learning; and shallow and deep RL.
Developers can run the experiments by writing a minimal amount of code and by eliminating the need for complicated configuration files.
MushroomRL enables users to compare various deep reinforcement learning techniques in the easiest way possible. The developers behind MushroomRL claimed to have tried to fill in for the voids left out by the reinforcement learning libraries in the past.