RL Baselines3 Zoo 项目介绍
RL Baselines3 Zoo 是一个旨在为强化学习(RL)提供训练框架的开源项目,它基于 Stable Baselines3 构建。该项目为训练、评估代理、调优超参数、结果绘图和视频录制提供了多种脚本,同时还包含了一系列为常见环境和RL算法所调整的超参数,以及在这些设置下训练的代理。
项目目标
RL Baselines3 Zoo 主要有以下几个目标:
- 提供一个简单的接口来训练和使用RL代理。
- 对各种强化学习算法进行基准测试。
- 为每个环境和RL算法提供经过调优的超参数。
- 享受训练后的代理所带来的乐趣。
该项目是原始SB2版本的更新,即 rl-zoo。
文档和安装
项目的文档可以在这里在线查看。
最小安装
从源码安装:
pip install -e .
作为一个Python包安装:
pip install rl_zoo3
完整安装(包括额外环境和测试依赖)
apt-get install swig cmake ffmpeg
pip install -r requirements.txt
pip install -e .[plots,tests]
有关Stable Baselines3的其他安装方式,请参考 Stable Baselines3 文档。
训练和评估代理
每个环境的超参数定义在 hyperparameters/algo_name.yml
文件中。如果该环境存在于该文件中,可以通过以下命令训练一个代理:
python train.py --algo algo_name --env env_id
每10000步评估一次代理,使用10个回合进行评估(仅使用一个评估环境):
python train.py --algo sac --env HalfCheetahBulletEnv-v0 --eval-freq 10000 --eval-episodes 10 --n-eval-envs 1
更多示例可以在文档中找到。
集成和功能
RL Zoo 支持与其他库/服务的集成,例如用于实验跟踪的 Weights & Biases 或用于存储/共享训练模型的 Hugging Face。相关信息请查看集成指南。
超参数调优与自定义配置
关于超参数调优的信息,请查看调优指南。有关自定义配置的详细信息,请查看配置指南。
享受训练后的代理
要运行训练后的代理,可以用以下命令查看:
python enjoy.py --algo algo_name --env env_id
例如,在Breakout游戏中使用A2C算法进行5000个时间步的运行:
python enjoy.py --algo a2c --env BreakoutNoFrameskip-v4 --folder rl-trained-agents/ -n 5000
当前已训练的200+个代理
代理的最终性能可以在 benchmark.md
中找到。要计算这些性能,只需运行 python -m rl_zoo3.benchmark
。训练代理的列表和视频可以在我们的 Huggingface 页面找到。
总之,RL Baselines3 Zoo 提供了一个简便的平台来进行强化学习代理的开发、训练和评估,旨在通过丰富的功能和集成支持来帮助研究者和开发者更有效地工作。