Stable Baselines3 (SB3) 是一套基于 PyTorch 实现的可靠强化学习算法库。它是 Stable Baselines 的下一代版本,旨在为研究人员和工业界提供易用、高效且稳定的强化学习工具。
SB3 的目标是使强化学习算法的复制、改进和新想法的识别变得更加容易。它提供了一个统一的接口来训练和比较不同的强化学习算法,同时保持代码的简洁性和可读性。这使得研究人员可以快速实验新想法,而不必深入复杂的实现细节。

SB3 具有以下主要特性:
每种算法的性能都经过了严格测试,您可以在各自的文档页面中查看详细的结果。
SB3 支持 Python 3.8+,并依赖 PyTorch 1.13 或更高版本。您可以通过 pip 安装 SB3:
pip install stable-baselines3[extra]
这将安装 SB3 及其所有可选依赖项,如 Tensorboard、OpenCV 等。如果您不需要这些额外的功能,可以使用:
pip install stable-baselines3
以下是一个使用 PPO 算法在 CartPole 环境中训练和运行的简单示例:
import gymnasium as gym from stable_baselines3 import PPO # 创建环境 env = gym.make("CartPole-v1", render_mode="human") # 初始化模型 model = PPO("MlpPolicy", env, verbose=1) # 训练模型 model.learn(total_timesteps=10_000) # 使用训练好的模型 vec_env = model.get_env() obs = vec_env.reset() for i in range(1000): action, _states = model.predict(obs, deterministic=True) obs, reward, done, info = vec_env.step(action) vec_env.render() env.close()
SB3 实现了多种流行的强化学习算法,包括:
此外,SB3-Contrib 仓库还提供了一些实验性的算法实现,如 Recurrent PPO、TQC (Truncated Quantile Critics) 等。
SB3 提供了与其他库和服务的集成,如:
此外,RL Baselines3 Zoo 项目提供了一个训练框架,包含了用于训练、评估代理、调整超参数、绘制结果和录制视频的脚本。
SB3 提供了详细的文档,您可以在 https://stable-baselines3.readthedocs.io/ 找到。此外,还有一系列 Colab Notebooks 可供在线尝试:
SB3 是一个开源项目,欢迎社区贡献。如果您想为项目做出贡献,请阅读 CONTRIBUTING.md 指南。
对于技术支持和问题,建议在 RL Discord、Reddit 或 Stack Overflow 上提问。
Stable Baselines3 为强化学习研究和应用提供了一个强大而灵活的工具集。通过其清晰的接口、可靠的实现和丰富的文档,SB3 使得探索和开发强化学习算法变得更加容易和高效。无论您是初学者还是经验丰富的研究人员,SB3 都能为您的强化学习项目提供有力支持。