SuperAPI AI 工具集

stable-baselines3

编程与开发

查看项目

更新于 10-15 21:46

技能介绍

Stable Baselines3(SB3)是基于 PyTorch 的强化学习库,提供 PPO、SAC、DQN、TD3、DDPG、A2C 等算法的可靠实现,采用统一的 API。该技能仅适用于 SB3 相关的强化学习智能体、Gymnasium 环境、策略、rollout 与训练流程,不适用于普通 scikit-learn、随机森林、监督分类或一般机器学习模型训练。

主要能力包括:训练 RL 智能体,例如 env = gym.make("CartPole-v1"),model = PPO("MlpPolicy", env, verbose=1),model.learn(total_timesteps=10000),model.save("ppo_cartpole");加载时可使用 PPE.load("ppo_cartpole", env=env)。选择算法时,PPO/A2C 为通用型,支持所有动作空间并适合多进程;SAC/TD3 面向连续控制、离策略、样本高效;DQN 用于离散动作、离策略;HER 用于目标条件任务。

自定义环境需继承 gymnasium.Env,并实现 init、reset、step、render、close。图像观测须为 [0,255] 的 np.uint8,SB3 自动除以 255 归一化;不支持 start!=0 的 Discrete 或 MultiDiscrete 空间。可用 check_env(env, warn=True) 校验。向量化环境支持 DummyVecEnv(串行)与 SubprocVecEnv(并行),可用 make_vec_env 创建;离策略算法配合多环境时设 gradient_steps=-1。回调(Callbacks)可监控指标、保存检查点、早停,常用有 EvalCallback、CheckpointCallback、StopTrainingOnRewardThreshold、ProgressBarCallback,也可继承 BaseCallback,并通过 CallbackList 组合。模型可保存与加载,VecNormalize 统计量需单独保存;可用 evaluate_policy 评估,VecVideoRecorder 录制视频。高级功能包括学习率调度、字典观测的 MultiInputPolicy、HER 经验回放与 TensorBoard 集成。

安装命令保持原样:uv pip install stable-baselines3;含额外依赖:uv pip install stable-baselines3[extra]。使用限制:total_timesteps 为下界,实际训练可能超出;model.load() 应用作静态方法;replay buffer 不随模型保存;向量化环境 API 与普通环境不同,reset 仅返回观测,step 返回 4 元组并自动重置。其他具体收费、价格与平台信息暂未提供。