RL Baselines Zoo. 是一系列用Stable Baselines预训练的强化学习agents。它也提供用于训练、评估agents、微调超参数、记录视频的基础脚本。
这个版本库的目标:
- 提供一个简单界面用于训练和享用Rl agents
- 用基准测试不同强化学习算法
- 为每一个环境和RL算法提供调整后超参数
- 享受训练好的agents带来的种种欢乐
-
安装
-
训练Agent
每个环境的超参数定义在
hyperparameters/algo_name.yml
如果文件中包含环境,你可以如此训练agent:
python train.py --algo algo_name --env env_id
举例(带tensorboard支持):
python train.py --algo ppo2 --env CartPole-v1 --tensorboard-log /tmp/stable-baselines/
针对多环境(一次调用)和用tensorboard记录日志进行训练:
python train.py --algo a2c --env MountainCar-v0 CartPole-v1 --tensorboard-log /tmp/stable-baselines/
继续训练(这里,载入预训练的agent为Breakout并连续训练5000步):
python train.py --algo a2c --env BreakoutNoFrameskip-v4 -i trained_agents/a2c/BreakoutNoFrameskip-v4.pkl -n 5000
-
享用训练好的Agent
如果存在训练好的agent,你可以用下述命令查看其实际应用:
python enjoy.py --algo algo_name --env env_id
例如,在5000时间步内效用Breakout中的A2C:
python enjoy.py --algo a2c --env BreakoutNoFrameskip-v4 --folder trained_agents/ -n 5000
-
优化超参数
我们用 *Optuna*优化超参数。
为PPO2调整超参数,使用随机抽样器和中值修剪器,2个平行工作,预算1000次测试,最多50000步:
python train.py --algo ppo2 --env MountainCar-v0 -n 50000 -optimize --n-trials 1000 --n-jobs 2 \ --sampler random --pruner median
-
Colab Botebook:在线训练
你可以用Google colab notebook在线训练agents。
你可以在仓库 README中发现更多关于RL Baselines zoo的信息。例如,如果记录一个训练好agent的视频。