SLM Lab
Modular Deep Reinforcement Learning framework in PyTorch.
SLM Lab is a software framework for reproducible reinforcement learning (RL) research. It enables easy development of RL algorithms using modular components and file-based configuration. It also enables flexible experimentation completed with hyperparameter search, result analysis and benchmark results.
SLM Lab is also the companion library of the book Foundations of Deep Reinforcement Learning.
✨ Features
Modular design for building deep RL algorithms
Reproducibility using spec file and git SHA
Well-tuned algorithm implementations
Multiple RL environment offerings
Algorithms
SLM Lab implements most of the canonical RL algorithms:
SARSA
DQN (Deep Q-Network)
Double-DQN, Dueling-DQN, PER (Prioritized Experience Replay)
REINFORCE
A2C (Advantage Actor-Critic) with GAE & n-step
PPO (Proximal Policy Optimization)
SAC (Soft Actor-Critic)
SIL (Self Imitation Learning)
Asynchronous version of all the above
They are implemented in a modular way such that differences in algorithm performance can be confidently ascribed to differences between algorithms, not between implementations.
Environments
SLM Lab currently includes the following environment offerings:
VizDoom (credit: joelouismarino)
Unity environments with prebuilt binaries
Citation
If you use SLM Lab in your publication, please cite below:
License
This project is licensed under the MIT License.
Last updated