In previous posts, we sometimes implemented manually some RL algorithms to explain how they work. However in practice, we will use some optimised libraries that implement common RL algorithms instead. In this post, we will compare some of these libraries. A list of such libraries can be found here.
Main characteristics
Algorithms implemented
RL Libraries |
DQN |
DDPG |
NAF / CDQN |
CEM |
SARSA |
DqfD |
PG / REINFORCE |
PPO |
A2C |
A3C |
TRPO |
GAE |
ACER |
ACKTR |
GAIL |
SAC |
TD3 |
ERWR |
NPO |
REPS |
TNPG |
CMA-ES |
MMC |
PAL |
TDM |
RIG |
Skew-Fit |
Keras-RL |
X |
X |
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tensorforce |
X |
X |
X |
|
|
X |
X |
X |
X |
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OpenAI Baselines |
X |
X |
|
|
|
|
|
X |
X |
|
X |
|
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
Stable baselines |
X |
X |
|
|
|
|
|
X |
X |
|
X |
|
X |
X |
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
TF Agents |
X |
X |
|
|
|
|
X |
X |
|
|
|
|
|
|
|
X |
X |
|
|
|
|
|
|
|
|
|
|
Ray / Rllib |
X |
X |
|
|
|
|
X |
X |
X |
X |
|
|
|
|
|
X |
X |
|
|
|
|
|
|
|
|
|
|
Tensorlayer |
X |
X |
|
|
|
|
X |
X |
X |
X |
X |
|
|
|
|
X |
X |
|
|
|
|
|
|
|
|
|
|
Rllab / Garage |
X |
X |
|
X |
|
|
X |
X |
|
|
X |
|
|
|
|
|
X |
X |
X |
X |
X |
X |
|
|
|
|
|
Coach |
X |
X |
X |
|
|
|
X |
X |
|
X |
|
X |
X |
|
|
X |
X |
|
|
|
|
|
X |
X |
|
|
|
Rlkit |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
X |
|
|
|
|
|
|
|
X |
X |
X |
Leave a comment