ACME ist eine Bibliothek des Verstärkungslernens (RL), die sich bemüht, einfache, effiziente und lesbare Mittel freizulegen. Diese Agenten dienen in erster Linie sowohl als Referenzimplementierungen als auch als starke Basislinien für die Algorithmusleistung. Die von ACME freigelegten Grundlinienagenten sollten jedoch auch genügend Flexibilität und Einfachheit liefern, dass sie als Startblock für neuartige Forschung verwendet werden können. Schließlich sind die Bausteine von ACME so konzipiert, dass die Agenten auf mehreren Skalen (z. B. Einzelstream- gegenüber verteilten Wirkstoffen) ausgeführt werden können.
Der schnellste Weg, um loszulegen, besteht darin, einen Blick auf die detaillierten Beispiele für Arbeitscode zu werfen, die in den Beispielen des Unterverzeichnisses enthalten sind. Diese zeigen, wie eine Reihe verschiedener Agenten instanziiert und in einer Vielzahl von Umgebungen ausgeführt werden. Das QuickStart -Notebook finden Sie einen noch schnelleren Tauchgang, um einen einzelnen Agenten zu verwenden. In unserem Tutorial -Notebook finden Sie noch mehr Details zum internen Konstruktion eines Agenten. Schließlich finden Sie eine vollständige Beschreibung, die ACME und seine zugrunde liegenden Komponenten unter Bezugnahme auf die Dokumentation gefunden werden können. Weitere Hintergrundinformationen und Details hinter den Entwurfsentscheidungen finden Sie in unserem technischen Bericht.
HINWEIS: ACME ist in erster Linie ein Rahmen für RL -Forschungsforscher für Forscher. Wir verwenden es täglich für unsere eigene Arbeit. In diesem Sinne werden wir jeden Versuch unternehmen, alles in gutem Zustand zu halten, die Dinge gelegentlich brechen können. Aber wenn ja, werden wir uns am besten bemühen, sie so schnell wie möglich zu reparieren!
Um schnell aufzubauen, befolgen Sie einfach die folgenden Schritte:
Während Sie ACME in Ihrer Standard -Python -Umgebung installieren können, empfehlen wir dringend, eine virtuelle Python -Umgebung zu verwenden, um Ihre Abhängigkeiten zu verwalten. Dies sollte dazu beitragen, Versionskonflikte zu vermeiden und den Installationsprozess im Allgemeinen einfacher zu erleichtern.
python3 -m venv acme
source acme/bin/activate
pip install --upgrade pip setuptools wheel Während die Kern dm-acme -Bibliothek direkt installiert werden kann, ist die für die Installation enthaltene Abhängigkeiten minimal. Um einen der enthaltenen Agenten auszuführen, benötigen Sie je nach Agent auch JAX oder TensorFlow. Aus diesem Grund empfehlen wir auch, diese Komponenten zu installieren, dh auch die Installation
pip install dm-acme[jax,tf]Schließlich, um einige Beispielumgebungen zu installieren (einschließlich Fitnessstudio, DM_CONTROL und BSUITE):
pip install dm-acme[envs] Installation von GitHub : Wenn Sie die Ausführung der Blutungsversion von ACME ausführen möchten, können Sie dies tun, indem Sie das ACME-Github-Repository klonen und dann den folgenden Befehl aus dem Hauptverzeichnis ausführen (wobei setup.py sich befindet):
pip install .[jax,tf,testing,envs]Wenn Sie ACME in Ihrer Arbeit verwenden, geben Sie bitte den aktualisierten begleitenden technischen Bericht an:
@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 } ,
}