🚀 PPO 智能体在 MountainCar-v0 环境中的应用
本项目展示了一个经过训练的 PPO 智能体,它使用 stable-baselines3 库 和 RL Zoo 在 MountainCar-v0 环境中进行游戏。RL Zoo 是一个用于 Stable Baselines3 强化学习智能体的训练框架,包含超参数优化和预训练智能体。
🚀 快速开始
模型使用(借助 SB3 RL Zoo)
RL Zoo 仓库地址:https://github.com/DLR-RM/rl-baselines3-zoo
SB3 仓库地址:https://github.com/DLR-RM/stable-baselines3
SB3 Contrib 仓库地址:https://github.com/Stable-Baselines-Team/stable-baselines3-contrib
# 下载模型并保存到 logs/ 文件夹
python -m rl_zoo3.load_from_hub --algo ppo --env MountainCar-v0 -orga sb3 -f logs/
python enjoy.py --algo ppo --env MountainCar-v0 -f logs/
模型训练(借助 RL Zoo)
python train.py --algo ppo --env MountainCar-v0 -f logs/
# 上传模型并生成视频(如果支持)
python -m rl_zoo3.push_to_hub --algo ppo --env MountainCar-v0 -f logs/ -orga sb3
✨ 主要特性
本项目使用的 PPO 智能体在 MountainCar-v0 环境中表现出了一定的性能,以下是模型的相关指标:
属性 |
详情 |
算法类型 |
PPO |
环境名称 |
MountainCar-v0 |
平均奖励 |
-108.20 +/- 8.16 |
📦 安装指南
本项目依赖于 stable-baselines3 库和 RL Zoo,你可以通过以下链接获取相关代码:
- RL Zoo: https://github.com/DLR-RM/rl-baselines3-zoo
- SB3: https://github.com/DLR-RM/stable-baselines3
- SB3 Contrib: https://github.com/Stable-Baselines-Team/stable-baselines3-contrib
💻 使用示例
基础用法
python -m rl_zoo3.load_from_hub --algo ppo --env MountainCar-v0 -orga sb3 -f logs/
python enjoy.py --algo ppo --env MountainCar-v0 -f logs/
高级用法
python train.py --algo ppo --env MountainCar-v0 -f logs/
python -m rl_zoo3.push_to_hub --algo ppo --env MountainCar-v0 -f logs/ -orga sb3
🔧 技术细节
超参数设置
OrderedDict([('ent_coef', 0.0),
('gae_lambda', 0.98),
('gamma', 0.99),
('n_envs', 16),
('n_epochs', 4),
('n_steps', 16),
('n_timesteps', 1000000.0),
('normalize', True),
('policy', 'MlpPolicy'),
('normalize_kwargs', {'norm_obs': True, 'norm_reward': False})])
这些超参数的设置对模型的训练和性能有着重要影响,例如 ent_coef
控制着策略的熵,gamma
是折扣因子等。