🚀 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
是折扣因子等。