Repolode
DLR-RM

DLR-RM/stable-baselines3

基于 PyTorch 的强化学习算法实现库,提供可靠、接口统一的基准版本。

Star
13,912
Fork
2,177
未关闭 Issue
88
最近提交
7天前

这是什么?

Stable Baselines3(SB3)是一个基于 PyTorch 实现的强化学习算法库,是原版 Stable Baselines 的下一代版本。它提供经过测试的参考实现,方便研究人员和开发者复现、改进算法,并与已有方法进行对比。

库中包含 A2C、DDPG、DQN、PPO、SAC、TD3、HER 等常用算法,并根据算法支持 Box、Discrete、MultiDiscrete、MultiBinary 等动作空间。各模型采用类似 scikit-learn 的统一接口:指定策略名和环境创建模型,调用 learn 训练,再用 predict 推理。同时支持自定义环境、策略和回调,并可接入 TensorBoard 记录训练过程。

较新的实验性算法放在配套的 SB3-Contrib 仓库中,训练脚本和调优超参数则由 RL Baselines3 Zoo 提供。基于 JAX 的更快速变体另在 SBX 项目中开发。

核心功能

  • 01提供 PPO、SAC、DQN、TD3 等常用强化学习算法的实现
  • 02统一的类 scikit-learn 接口,用于训练、保存和推理
  • 03支持自定义环境、策略和回调函数
  • 04支持 Dict 类型的观测空间并可接入 TensorBoard
  • 05多种算法支持多进程运行

适用场景

  • 将新的强化学习方法与成熟基线算法进行对比
  • 在 Gymnasium 环境(如 CartPole、Atari 游戏)上训练智能体
  • 在仿真中验证机器人或控制策略
  • 在接触复杂代码前,用更简洁的工具学习强化学习

快速上手

  1. 1

    使用 pip 安装软件包

    pip install 'stable-baselines3[extra]'
  2. 2

    用一行代码在 CartPole 上训练 PPO 智能体

    python -c "from stable_baselines3 import PPO; model = PPO('MlpPolicy', 'CartPole-v1').learn(10_000)"

使用前须知

  • 需要 Python 3.10 及以上版本和 PyTorch 2.8 及以上版本。
  • 默认用户已具备强化学习基础,初学者应先阅读文档。
  • 目前开发以错误修复和维护为主,新算法位于独立仓库中。

标签

常见问题

stable-baselines3 是什么?
基于 PyTorch 的强化学习算法实现库,提供可靠、接口统一的基准版本。 Stable Baselines3(SB3)是一个基于 PyTorch 实现的强化学习算法库,是原版 Stable Baselines 的下一代版本。它提供经过测试的参考实现,方便研究人员和开发者复现、改进算法,并与已有方法进行对比。
stable-baselines3 可以免费使用吗?用的什么许可证?
stable-baselines3 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
stable-baselines3 还在维护吗?
活跃维护中。stable-baselines3 最近一次提交是在 2026年10月13日。
stable-baselines3 适合用来做什么?
将新的强化学习方法与成熟基线算法进行对比 在 Gymnasium 环境(如 CartPole、Atari 游戏)上训练智能体 在仿真中验证机器人或控制策略 在接触复杂代码前,用更简洁的工具学习强化学习
stable-baselines3 怎么安装和运行?
使用 pip 安装软件包: pip install 'stable-baselines3[extra]' 用一行代码在 CartPole 上训练 PPO 智能体: python -c "from stable_baselines3 import PPO; model = PPO('MlpPolicy', 'CartPole-v1').learn(10_000)"
在哪里获取 stable-baselines3?
源代码和安装说明在 GitHub 上:https://github.com/DLR-RM/stable-baselines3

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目