ACME es una biblioteca de bloques de construcción de aprendizaje de refuerzo (RL) que se esfuerza por exponer agentes simples, eficientes y legibles. En primer lugar, estos agentes sirven tanto como implementaciones de referencia como para proporcionar líneas de base fuertes para el rendimiento del algoritmo. Sin embargo, los agentes de referencia expuestos por ACME también deberían proporcionar suficiente flexibilidad y simplicidad para que puedan usarse como bloque de inicio para una investigación novedosa. Finalmente, los bloques de construcción de ACME están diseñados de tal manera que los agentes se pueden ejecutar a múltiples escalas (p. Ej., Agentes distribuidos de un solo flujo versus).
La forma más rápida de comenzar es echar un vistazo a los ejemplos detallados del código de trabajo que se encuentran en el subdirectorio de ejemplos. Estos muestran cómo instanciar varios agentes diferentes y ejecutarlos dentro de una variedad de entornos. Vea el cuaderno QuickStart para una inmersión aún más rápida en usar un solo agente. Se pueden encontrar aún más detalles sobre la construcción interna de un agente dentro de nuestro cuaderno tutorial. Finalmente, una descripción completa ACME y sus componentes subyacentes se pueden encontrar refiriéndose a la documentación. Se puede encontrar más información de antecedentes y detalles detrás de las decisiones de diseño en nuestro informe técnico.
Nota: ACME es ante todo un marco para la investigación de RL escrita por investigadores, para investigadores. Lo usamos para nuestro propio trabajo a diario. Entonces, con eso en mente, si bien haremos todo lo posible para mantener todo en buen estado de funcionamiento, las cosas pueden romperse ocasionalmente. ¡Pero si es así, haremos nuestro mejor esfuerzo para arreglarlos lo más rápido posible!
Para subir y correr rápidamente, solo siga los pasos a continuación:
Si bien puede instalar ACME en su entorno Python estándar, recomendamos encarecidamente utilizar un entorno virtual de Python para administrar sus dependencias. Esto debería ayudar a evitar conflictos de versión y, en general, facilitar el proceso de instalación.
python3 -m venv acme
source acme/bin/activate
pip install --upgrade pip setuptools wheel
Si bien la biblioteca Core dm-acme
se puede instalar directamente, el conjunto de dependencias incluidas para la instalación es mínima. En particular, para ejecutar cualquiera de los agentes incluidos también necesitará Jax o TensorFlow dependiendo del agente. Como resultado, recomendamos instalar estos componentes también, es decir
pip install dm-acme[jax,tf]
Finalmente, para instalar algunos entornos de ejemplo (incluidos Gym, DM_Control y Bsuite):
pip install dm-acme[envs]
Instalación desde GitHub : si está interesado en ejecutar la versión de acogamiento de sangrado de ACME, puede hacerlo clonando el repositorio de ACME GitHub y luego ejecutando el siguiente comando desde el directorio principal (donde se encuentra setup.py
)::
pip install .[jax,tf,testing,envs]
Si usa ACME en su trabajo, cite el informe técnico acompañante actualizado:
@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 } ,
}