SuperAPI AI 工具集

stable-baselines3

智能体与模型

查看项目

更新于 10-15 23:44

技能介绍

用途:Stable Baselines3(SB3)是基于 PyTorch 的强化学习库,提供 PPO、SAC、DQN、TD3、DDPG、A2C 等算法的可靠实现,用于训练和评估单智能体强化学习,并支持自定义 Gymnasium 环境、回调与训练流程优化。当前上游版本为 SB3 2.9.0,文档见 stable-baselines3.readthedocs.io。

主要能力:统一 API 训练智能体(model.learn、model.save、PPO.load);自定义环境需继承 gymnasium.Env 并实现 init、reset、step、render、close,可用 check_env 校验;向量化环境 DummyVecEnv(顺序)与 SubprocVecEnv(多进程),可用 make_vec_env 快速创建;回调如 EvalCallback、CheckpointCallback、StopTrainingOnRewardThreshold、ProgressBarCallback 及自定义 BaseCallback;模型持久化与 VecNormalize 统计保存加载;evaluate_policy 评估与 VecVideoRecorder 录制;学习率调度、MultiInputPolicy 字典观测、HER 回放缓冲、TensorBoard 日志。

使用方式:安装 uv pip install "stable-baselines3==2.9.0",含额外依赖用 uv pip install "stable-baselines3[extra]==2.9.0"(zsh 需给方括号加引号);MuJoCo 用 uv pip install "gymnasium[mujoco]"。要求 Python 3.10+、PyTorch >= 2.8,支持 Gymnasium >=0.29.1,<2.0。基本流程:创建环境、初始化算法、learn 训练、save 保存、load 加载。

适用场景:通用控制任务(PPO/A2C)、连续控制(SAC/TD3)、离散动作(DQN)、目标条件任务(HER)等单智能体强化学习训练与评测。

限制:total_timesteps 为下界,实际可能超出;回放缓冲不随模型保存;不支持 start!=0 的 Discrete/MultiDiscrete 空间;默认 CNN 图像预处理期望 uint8 [0,255] 且通道优先;check_env 只检查 API 一致性,不保证马尔可夫充分性、奖励正确性或可学习性;评估需独立环境与留出种子,短程冒烟运行不能证明策略质量;仅加载可信模型与统计文件。SB3-Contrib、RL Baselines3 Zoo、SBX 为相关独立项目。