DLR-RM/stable-baselines3

PyTorch version of Stable Baselines, reliable implementations of reinforcement learning algorithms.

What it solves

Stable Baselines3 (SB3) provides a set of reliable, tested, and standardized implementations of reinforcement learning (RL) algorithms. It eliminates the need for researchers and developers to implement these algorithms from scratch, providing a consistent baseline for replicating, refining, and comparing different RL approaches.

How it works

SB3 is built on PyTorch and follows a scikit-learn-like syntax to make RL algorithms accessible. It allows users to define a policy and an environment (such as those from Gymnasium), and then use a simple .learn() method to train an agent. The library supports various action and observation spaces (including Dict observation spaces) and integrates with tools like Tensorboard for monitoring and Weights & Biases for experiment tracking.

Who it’s for

It is designed for the research community, industry professionals, and beginners who have some basic knowledge of Reinforcement Learning and want a stable toolset for building RL projects without getting bogged down in implementation details.

Highlights

  • Standardized Algorithms: Implements state-of-the-art RL methods like PPO, DQN, SAC, and TD3.
  • Consistent Interface: Uses a common interface across all algorithms for ease of use.
  • Extensibility: Supports custom environments, custom policies, and custom callbacks.
  • Broad Compatibility: Compatible with Gymnasium environments and supports multiprocessing for faster training.
  • Ecosystem: Part of a larger ecosystem including RL Baselines3 Zoo (for training and hyperparameter tuning) and SB3-Contrib (for experimental features).

Related

  • Project
  • Project
  • Project
  • Project
  • Project