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. The book's website and errata is here.
✨ 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