ACME est une bibliothèque de blocs de construction de l'apprentissage par renforcement (RL) qui s'efforcent d'exposer des agents simples, efficaces et lisibles. Ces agents ont d'abord et avant tout servir à la fois des implémentations de référence ainsi que la fourniture de lignes de base solides pour les performances des algorithmes. Cependant, les agents de base exposés par l'ACME devraient également fournir suffisamment de flexibilité et de simplicité pour qu'ils puissent être utilisés comme bloc de départ pour de nouvelles recherches. Enfin, les éléments constitutifs de l'ACME sont conçus de manière à ce que les agents puissent être exécutés à plusieurs échelles (par exemple, les agents mono-stread vs répartis).
Le moyen le plus rapide de commencer est de jeter un œil aux exemples de code de travail détaillé trouvés dans le sous-répertoire des exemples. Ceux-ci montrent comment instancier un certain nombre d'agents différents et les exécuter dans une variété d'environnements. Voir le carnet QuickStart pour une plongée encore plus rapide dans l'utilisation d'un seul agent. Plus de détails sur la construction interne d'un agent se trouvent dans notre cahier de tutoriel. Enfin, une description complète ACME et ses composantes sous-jacentes peuvent être trouvées en se référant à la documentation. Plus d'informations générales et de détails derrière les décisions de conception peuvent être trouvées dans notre rapport technique.
Remarque: ACME est d'abord et avant tout un cadre pour la recherche RL écrite par des chercheurs, pour les chercheurs. Nous l'utilisons quotidiennement pour notre propre travail. Donc, dans cet esprit, alors que nous ferons tout le monde pour garder tout en bon état de fonctionnement, les choses peuvent se casser occasionnellement. Mais si c'est le cas, nous ferons de notre mieux pour les réparer le plus rapidement possible!
Pour vous opérer rapidement, suivez simplement les étapes ci-dessous:
Bien que vous puissiez installer ACME dans votre environnement Python standard, nous vous recommandons fortement d'utiliser un environnement virtuel Python pour gérer vos dépendances. Cela devrait aider à éviter les conflits de version et à rendre généralement le processus d'installation plus facile.
python3 -m venv acme
source acme/bin/activate
pip install --upgrade pip setuptools wheel Bien que la bibliothèque Core dm-acme puisse être installée directement, l'ensemble des dépendances inclus pour l'installation est minime. En particulier, pour gérer l'un des agents inclus, vous aurez également besoin de Jax ou TensorFlow en fonction de l'agent. En conséquence, nous vous recommandons également d'installer ces composants, c'est-à-dire
pip install dm-acme[jax,tf]Enfin, pour installer quelques exemple d'environnements (y compris Gym, DM_Control et Bsuite):
pip install dm-acme[envs] Installation à partir de GitHub : si vous souhaitez exécuter la version saigneuse d'ACME, vous pouvez le faire en clonant le référentiel ACME GitHub puis en exécutant la commande suivante dans le répertoire principal (où setup.py se trouve):
pip install .[jax,tf,testing,envs]Si vous utilisez ACME dans votre travail, veuillez citer le rapport technique d'accompagnement mis à jour:
@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 } ,
}