可重复的强化学习研究工具包
项目描述
garage
garage是一个用于开发和评估强化学习算法的工具包,以及一个使用该工具包构建的最先进实现库。
该工具包提供了一系列模块化工具,用于实现RL算法,包括
- 可组合的神经网络模型
- 重放缓冲区
- 高性能采样器
- 表达式丰富的实验定义接口
- 可重复性工具(例如,设置一个全局随机种子,所有组件都遵守)
- 将日志记录到多个输出,包括TensorBoard
- 可靠的实验检查点和恢复
- 许多流行基准套件的环境接口
- 支持在多种环境中运行garage,包括始终更新的Docker容器
查看最新文档以获取入门指南和详细API信息。
安装
pip install --user garage
示例
从版本v2020.10.0开始,garage包含了示例。要获取示例列表,请运行
garage examples
您也可以运行garage examples --help
,或访问文档获取更多信息。
加入社区
加入garage-announce邮件列表,获取项目状态和新版本发布的偶尔更新(每月少于1次)。
需要帮助吗?想知道garage是否适合您的项目?有一个既不是bug也不是功能请求的问题吗?
通过填写这个谷歌表单加入社区Slack。
算法
下表总结了garage中可用的算法。
算法 | 框架 |
---|---|
CEM | numpy |
CMA-ES | numpy |
REINFORCE(也称为VPG) | PyTorch, TensorFlow |
DDPG | PyTorch, TensorFlow |
DQN | PyTorch, TensorFlow |
DDQN | PyTorch, TensorFlow |
ERWR | TensorFlow |
NPO | TensorFlow |
PPO | PyTorch, TensorFlow |
REPS | TensorFlow |
TD3 | PyTorch, TensorFlow |
TNPG | TensorFlow |
TRPO | PyTorch, TensorFlow |
MAML | PyTorch |
RL2 | TensorFlow |
PEARL | PyTorch |
SAC | PyTorch |
MTSAC | PyTorch |
MTPPO | PyTorch, TensorFlow |
MTTRPO | PyTorch, TensorFlow |
任务嵌入 | TensorFlow |
行为克隆 | PyTorch |
支持的工具和框架
garage需要Python 3.6+。如果您需要Python 3.5支持,支持Python 3.5的最后一个garage版本是v2020.06。
该软件包已在Ubuntu 18.04上进行了测试。它也已知在Ubuntu 16.04、18.04和20.04以及使用Homebrew的最新macOS版本上运行。Windows用户可以通过WSL安装garage,或者利用Docker容器。
我们目前支持PyTorch和TensorFlow来实施RL算法的神经网络部分,并且欢迎添加新的框架支持。PyTorch模块可以在包garage.torch
中找到,TensorFlow模块可以在包garage.tf
中找到。不需要神经网络的算法可以在包garage.np
中找到。
该软件包可在PyPI上下载,并且我们确保它可以在使用conda、Pipenv和virtualenv定义的环境中成功安装。
测试
garage最重要的功能是其全面的自动化单元测试和基准测试套件,有助于确保随着软件的变化,garage中的算法和模块保持最先进的性能。
我们的测试策略有三个支柱
- 自动化:我们在添加任何更改之前使用持续集成来测试garage中的所有模块和算法。完整的安装和测试套件每晚也会运行,以检测回归。
- 验收测试:任何可能改变算法性能的提交在合并之前都要在相关算法上进行全面的基准测试。
- 基准测试和监控:我们定期将算法的全套基准与相关基准和广泛使用的实现进行比较,以检测我们可能遗漏的回归和改进。
支持版本
版本 | 构建状态 | 支持的最后日期 |
---|---|---|
v2021.03 | 2021年5月31日 |
维护版本具有稳定的API和依赖关系树,并接收错误修复和关键改进,但不添加新功能。我们目前为每个版本提供2个月的维护支持。
引用garage
如果您使用garage进行学术研究,请使用以下BibTeX条目引用代码库。您应将commit
字段更新为出版物使用的提交或发布标签。
@misc{garage,
author = {The garage contributors},
title = {Garage: A toolkit for reproducible reinforcement learning research},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/rlworkgroup/garage}},
commit = {be070842071f736eb24f28e4b902a9f144f5c97b}
}
致谢
garage最早的代码来自名为rllab的前身项目。garage项目对原始rllab作者的贡献表示感谢,并希望在相同的精神中继续推进RL研究中可重复性的水平。garage之前得到了亚马逊研究奖“观察、实践、学习、做:通过融合专家演示与机器人经验来无监督学习稳健和可组合的机器人运动技能”的支持。
项目详情
garage-2021.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4db5dd5b753e4681d89adee36f3e84d9ef952b9b3a370ed0bbe7497b290acfc6 |
|
MD5 | ab52767841f639648163e79bf6c984e2 |
|
BLAKE2b-256 | 4b12a73616a9bd1750c9c13acc97759fde1a1f026289ad0e1f769a80cd511755 |