A ACME é uma biblioteca de blocos de construção de aprendizado de reforço (RL) que se esforça para expor agentes simples, eficientes e legíveis. Primeiro, esses agentes servem como implementações de referência e também fornecem fortes linhas de base para o desempenho do algoritmo. No entanto, os agentes da linha de base expostos pela ACME também devem fornecer flexibilidade e simplicidade suficientes para que possam ser usados como bloco de partida para novas pesquisas. Finalmente, os blocos de construção da ACME são projetados de forma que os agentes possam ser executados em várias escalas (por exemplo, agentes distribuídos de fluxo único e distribuído).
A maneira mais rápida de começar é dar uma olhada nos exemplos detalhados de código de trabalho encontrados no subdiretório de exemplos. Eles mostram como instanciar vários agentes diferentes e executá -los dentro de uma variedade de ambientes. Consulte o Notebook Quickstart para um mergulho ainda mais rápido no uso de um único agente. Ainda mais detalhes sobre a construção interna de um agente podem ser encontrados dentro do nosso caderno tutorial. Finalmente, uma descrição completa da ACME e seus componentes subjacentes podem ser encontrados referindo -se à documentação. Mais informações básicas e detalhes por trás das decisões de design podem ser encontrados em nosso relatório técnico.
NOTA: O ACME é, antes de tudo, uma estrutura para a pesquisa da RL escrita por pesquisadores, para pesquisadores. Nós o usamos para nosso próprio trabalho diariamente. Portanto, com isso em mente, embora façamos todas as tentativas de manter tudo em boas condições de funcionamento, as coisas podem quebrar ocasionalmente. Mas, se sim, faremos o nosso melhor esforço para corrigi -los o mais rápido possível!
Para subir e correr rapidamente, siga as etapas abaixo:
Embora você possa instalar o ACME em seu ambiente Python padrão, recomendamos fortemente o uso de um ambiente virtual do Python para gerenciar suas dependências. Isso deve ajudar a evitar conflitos de versão e geralmente facilita o processo de instalação.
python3 -m venv acme
source acme/bin/activate
pip install --upgrade pip setuptools wheel
Enquanto a biblioteca principal dm-acme
pode ser instalada diretamente, o conjunto de dependências incluídas para a instalação é mínimo. Em particular, para executar qualquer um dos agentes incluídos, você também precisará do JAX ou do TensorFlow, dependendo do agente. Como resultado, recomendamos a instalação desses componentes também, ou seja,
pip install dm-acme[jax,tf]
Finalmente, para instalar alguns ambientes de exemplo (incluindo academia, dm_control e bsuite):
pip install dm-acme[envs]
Instalando no Github : Se você estiver interessado em executar a versão de borda sangrando da ACME, poderá fazê-lo clonando o repositório Acme Github e executando o seguinte comando no diretório principal (onde setup.py
está localizado):
pip install .[jax,tf,testing,envs]
Se você usar o ACME em seu trabalho, cite o relatório técnico atualizado:
@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 } ,
}