stable-baselines3
生产级强化学习算法(PPO、SAC、DQN、TD3、DDPG、A2C),提供类似scikit-learn的API接口。适用于标准强化学习实验、快速原型开发及算法实现文档完善的应用场景。最适合在Gymnasium环境中进行单智能体强化学习。如需高性能并行训练、多智能体系统或自定义向量化环境,请改用pufferlib。
分类
AI 技能开发安装
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
Stable Baselines3 - 生产级强化学习算法库
技能概述
Stable Baselines3 是一个基于 PyTorch 的强化学习算法库,提供 PPO、SAC、DQN、TD3 等多种生产级算法实现,使用类似 scikit-learn 的简洁 API,适合标准单智能体强化学习实验和快速原型开发。
适用场景
1. 单智能体强化学习研究
使用 Gymnasium 兼容环境进行标准的单智能体 RL 实验,支持离散和连续动作空间,提供经过充分验证的算法实现,适合论文复现和算法对比研究。
2. RL 快速原型开发
通过简洁统一的 API 快速搭建训练流程,内置环境检查、模型保存、评估和回调系统,帮助开发者快速验证想法和迭代算法。
3. 强化学习教学与学习
提供完整的训练模板、环境创建指南和算法对比文档,代码结构清晰易于理解,是学习强化算法实现和 RL 工程实践的理想工具。
核心功能
1. 多种经典 RL 算法实现
提供 PPO、SAC、TD3、DQN、DDPG、A2C、HER 等主流强化学习算法的可靠实现,所有算法基于 PyTorch 构建,支持 CPU 和 GPU 训练,算法特性经过充分验证。
2. 灵活的环境系统
支持 Gymnasium 标准环境、自定义环境和向量化并行环境,提供环境验证工具
check_env(),支持图像观测自动归一化,兼容 DummyVecEnv 和 SubprocVecEnv 加速训练。3. 完善的训练监控工具
内置 EvalCallback、CheckpointCallback 等多种回调函数,支持训练进度可视化、模型自动保存、早停策略和 TensorBoard 集成,可轻松扩展自定义回调逻辑。
常见问题
Stable Baselines3 支持哪些强化学习算法?
Stable Baselines3 支持 PPO、SAC、DQN、TD3、DDPG、A2C 等多种算法,以及用于目标条件任务的 HER(Hindsight Experience Replay)。PPO 和 A2C 适用于通用场景并支持所有动作空间类型;SAC 和 TD3 专注于连续控制任务,样本效率高;DQN 用于离散动作空间任务。可根据任务类型参考算法对比文档选择合适的算法。
如何创建和验证自定义 Gymnasium 环境?
自定义环境需继承 gymnasium.Env 并实现 __init__、reset、step、render 和 close 方法。在 __init__ 中定义 action_space 和 observation_space,step 方法返回 (observation, reward, terminated, truncated, info) 五元组。使用 check_env(env) 验证环境接口是否符合规范。图像观测需使用 np.uint8 格式和 channel-first 结构,SB3 会自动将图像除以 255 进行归一化。
Stable Baselines3 支持多智能体训练吗?
Stable Baselines3 专注于单智能体强化学习,不直接支持多智能体系统。如需多智能体训练、高性能并行环境或自定义向量化环境,建议使用 pufferlib 框架。SB3 的向量化环境功能用于加速单智能体训练,而非多智能体交互。