SuperAPI AI 工具集

stable-baselines3

编程与开发

查看项目

更新于 10-15 23:58

技能介绍

用途:Stable Baselines3 是基于 PyTorch 的强化学习算法库,用于训练 RL 智能体、创建自定义环境、实现回调并优化训练流程,提供统一 API。

主要能力:支持 PPO、A2C(通用、支持全部动作空间、适合多进程)、SAC、TD3(连续控制、离策略、样本高效)、DQN(离散动作、离策略)以及 HER(目标条件任务)。提供向量化环境(DummyVecEnv、SubprocVecEnv)、回调系统(EvalCallback、CheckpointCallback、StopTrainingOnRewardThreshold、ProgressBarCallback)、模型保存与加载、评估与视频录制、学习率调度、多输入策略(Dict 观测)与 TensorBoard 集成等。

必要用法:基本流程为 gym.make 创建环境,用 PPO("MlpPolicy", env, verbose=1) 初始化,model.learn(total_timesteps=10000) 训练,model.save 保存,PPO.load 静态加载。自定义环境须继承 gymnasium.Env 并实现 init、reset、step、render、close,训练前用 check_env(env, warn=True) 校验。向量化可用 make_vec_env("CartPole-v1", n_envs=4, vec_env_cls=SubprocVecEnv)。评估用 evaluate_policy(model, env, n_eval_episodes=10, deterministic=True)。安装:uv pip install stable-baselines3,含额外依赖:uv pip install stable-baselines3[extra]。

适用场景:标准 RL 实验、连续与离散控制、目标条件任务、快速原型与训练流程监控。

限制:total_timesteps 是下界,实际可能超出;model.load() 为静态方法;回放缓冲区不随模型保存;图像观测须为 np.uint8 且范围 [0,255],SB3 自动除以 255 归一化,可设 normalize_images=False;不支持 start!=0 的 Discrete 或 MultiDiscrete 空间;向量化环境的 reset 只返回观测、step 返回 4 元组且自动重置。