Acme是增强学习(RL)的构件库,旨在暴露简单,高效且可读的代理。这些代理首先是参考实现,也可以为算法性能提供强大的基准。但是,ACME暴露的基线代理还应提供足够的灵活性和简单性,可以将它们用作新研究的起点。最后,ACME的构建块的设计方式使代理可以以多个尺度运行(例如,单流与分布式代理)。
最快开始的方法是查看示例子目录中的详细工作代码示例。这些显示了如何实例化许多不同的代理并在各种环境中运行它们。请参阅Quickstart Notebook,以便更快地潜入使用单个代理。在我们的教程笔记本中可以找到有关代理内部构造的更多详细信息。最后,可以通过参考文档来找到ACME及其基础组件的完整描述。设计决策背后的更多背景信息和详细信息可以在我们的技术报告中找到。
注意:ACME是研究人员为研究人员编写的RL研究框架的首先。我们每天将其用于自己的工作。因此,考虑到这一点,尽管我们将尽一切努力使一切保持良好的工作状态,但情况可能会偶尔破裂。但是,如果是这样,我们将尽最大努力尽快解决它们!
要快速启动并运行,只需按照以下步骤操作:
虽然您可以在标准Python环境中安装ACME,但我们强烈建议使用Python虚拟环境来管理您的依赖性。这应该有助于避免版本冲突,并且通常会使安装过程更容易。
python3 -m venv acme
source acme/bin/activate
pip install --upgrade pip setuptools wheel
虽然可以直接安装核心dm-acme
库,但安装所包含的依赖项集很小。特别是,要运行任何随附的代理,您也需要根据代理而需要JAX或TensorFlow。结果,我们建议也安装这些组件,即
pip install dm-acme[jax,tf]
最后,要安装一些示例环境(包括健身房,DM_Control和Bsuite):
pip install dm-acme[envs]
从GitHub安装:如果您有兴趣运行ACME出血版本,则可以通过克隆ACME GitHub存储库来执行此操作,然后从MAIN DERICTORY( setup.py
位置)执行以下命令:
pip install .[jax,tf,testing,envs]
如果您在工作中使用ACME,请引用随附的更新技术报告:
@article { hoffman2020acme ,
title = { Acme: A Research Framework for Distributed Reinforcement Learning } ,
author = {
Matthew W. Hoffman and Bobak Shahriari and John Aslanides and
Gabriel Barth-Maron and Nikola Momchev and Danila Sinopalnikov and
Piotr Sta'nczyk and Sabela Ramos and Anton Raichuk and
Damien Vincent and L'eonard Hussenot and Robert Dadashi and
Gabriel Dulac-Arnold and Manu Orsini and Alexis Jacq and
Johan Ferret and Nino Vieillard and Seyed Kamyar Seyed Ghasemipour and
Sertan Girgin and Olivier Pietquin and Feryal Behbahani and
Tamara Norman and Abbas Abdolmaleki and Albin Cassirer and
Fan Yang and Kate Baumli and Sarah Henderson and Abe Friesen and
Ruba Haroun and Alex Novikov and Sergio G'omez Colmenarejo and
Serkan Cabi and Caglar Gulcehre and Tom Le Paine and
Srivatsan Srinivasan and Andrew Cowie and Ziyu Wang and Bilal Piot and
Nando de Freitas
} ,
year = { 2020 } ,
journal = { arXiv preprint arXiv:2006.00979 } ,
url = { https://arxiv.org/abs/2006.00979 } ,
}