SLM Lab
v4.2.3
v4.2.3
  • SLM Lab
  • 🖥Setup
    • Installation
    • Quick Start
  • 🚀Using SLM Lab
    • Lab Command
    • Lab Organization
    • Train: REINFORCE CartPole
    • Resume and Enjoy: REINFORCE CartPole
    • Agent Spec: DDQN+PER on LunarLander
    • Env Spec: A2C on Pong
    • GPU Usage: PPO on Pong
    • Parallelizing Training: Async SAC on Humanoid
    • Experiment and Search Spec: PPO on Breakout
    • Run Benchmark: A2C on Atari Games
    • Meta Spec: High Level Specifications
    • Post-Hoc Analysis
    • TensorBoard: Visualizing Models and Actions
    • Using SLM Lab In Your Project
  • 📈Analyzing Results
    • Data Locations
    • Graphs and Data
    • Performance Metrics
  • 🥇Benchmark Results
    • Public Benchmark Data
    • Discrete Environment Benchmark
    • Continuous Environment Benchmark
    • Atari Environment Benchmark
    • RL GIFs
  • 🔧Development
    • Modular Design
      • Algorithm Taxonomy
      • Class Inheritance: A2C > PPO
    • Algorithm
      • DQN
      • REINFORCE
      • Actor Critic
    • Memory
      • Replay
      • PrioritizedReplay
      • OnPolicyReplay
      • OnPolicyBatchReplay
    • Net
      • MLP
      • CNN
      • RNN
    • Profiling SLM Lab
  • 📖Publications and Talks
    • Book: Foundations of Deep Reinforcement Learning
    • Talks and Presentations
  • 🤓Resources
    • Deep RL Resources
    • Contributing
    • Motivation
    • Help
    • Contact
Powered by GitBook
On this page
  • ✨ Features
  • Algorithms
  • Environments
  • Citation
  • License

Was this helpful?

SLM Lab

Modular Deep Reinforcement Learning framework in PyTorch.

NextInstallation

Last updated 3 years ago

Was this helpful?

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

  • Experiment framework with automatic analysis

  • Extensive benchmark results

  • 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:

  • OpenAI gym

  • OpenAI Roboschool

  • VizDoom (credit: joelouismarino)

  • Unity environments with prebuilt binaries

Citation

If you use SLM Lab in your publication, please cite below:

@misc{kenggraesser2017slmlab,
    author = {Keng, Wah Loon and Graesser, Laura},
    title = {SLM Lab},
    year = {2017},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/kengz/SLM-Lab}},
}

License

This project is licensed under the MIT License.

📖
CI
GitHub tag (latest SemVer)
Maintainability
Test Coverage