🚀 PPO 智能體在 Pendulum-v1 環境中的應用
本項目是一個經過訓練的 PPO 智能體,它在 Pendulum-v1 環境中進行學習和決策。該智能體藉助 stable-baselines3 庫 和 RL Zoo 實現,其中 RL Zoo 是一個用於 Stable Baselines3 強化學習智能體的訓練框架,包含超參數優化和預訓練智能體。
🚀 快速開始
使用已訓練模型
你可以按照以下步驟使用已訓練的模型:
# 下載模型並保存到 logs/ 文件夾
python -m rl_zoo3.load_from_hub --algo ppo --env Pendulum-v1 -orga sb3 -f logs/
python enjoy.py --algo ppo --env Pendulum-v1 -f logs/
模型訓練
如果你想重新訓練模型,可以使用以下命令:
python train.py --algo ppo --env Pendulum-v1 -f logs/
# 上傳模型並生成視頻(如果可能)
python -m rl_zoo3.push_to_hub --algo ppo --env Pendulum-v1 -f logs/ -orga sb3
💻 使用示例
基礎用法
from stable_baselines3 import PPO
from stable_baselines3.common.env_util import make_vec_env
env_id = "Pendulum-v1"
env = make_vec_env(env_id, n_envs=1)
model = PPO(
"MlpPolicy",
env,
gamma=0.98,
use_sde=True,
sde_sample_freq=4,
learning_rate=1e-3,
verbose=1,
)
model.learn(total_timesteps=int(1e5))
🔧 技術細節
超參數設置
OrderedDict([('clip_range', 0.2),
('ent_coef', 0.0),
('gae_lambda', 0.95),
('gamma', 0.9),
('learning_rate', 0.001),
('n_envs', 4),
('n_epochs', 10),
('n_steps', 1024),
('n_timesteps', 100000.0),
('policy', 'MlpPolicy'),
('sde_sample_freq', 4),
('use_sde', True),
('normalize', False)])
📚 詳細文檔
相關鏈接
- 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
模型指標
屬性 |
詳情 |
模型類型 |
PPO |
訓練環境 |
Pendulum-v1 |
平均獎勵 |
-230.42 +/- 142.54 |