GithubHelp home page GithubHelp logo

bharat123rox / acme Goto Github PK

View Code? Open in Web Editor NEW

This project forked from google-deepmind/acme

0.0 1.0 0.0 6.78 MB

A library of reinforcement learning components and agents

License: Apache License 2.0

Python 99.87% Shell 0.13%

acme's Introduction

Acme: A research framework for reinforcement learning

Overview | Installation | Documentation | Agents | Examples | Paper

PyPI - Python Version pytest

Acme is a library of reinforcement learning (RL) agents and agent building blocks. Acme strives to expose simple, efficient, and readable agents, that serve both as reference implementations of popular algorithms and as strong baselines, while still providing enough flexibility to do novel research. The design of Acme also attempts to provide multiple points of entry to the RL problem at differing levels of complexity.

Overview

At the highest level Acme exposes a number of agents which can be used simply as follows:

import acme

# Create an environment and an actor.
environment = ...
actor = ...

# Run the environment loop.
loop = acme.EnvironmentLoop(environment, actor)
loop.run()

Acme also tries to maintain this level of simplicity while either diving deeper into the agent algorithms or by using them in more complicated settings. An overview of Acme along with more detailed descriptions of its underlying components can be found by referring to the documentation.

For a quick start, take a look at the more detailed working code examples found in the examples subdirectory, which also includes a tutorial notebook to get you started. And finally, for more information on the various agent implementations available take a look at the agents subdirectory along with the README.md associated with each agent.

Installation

We have tested acme on Python 3.6 & 3.7.

  1. Optional: We recommend using a Python virtual environment to manage your dependencies, so as to avoid version conflicts:

    python3 -m venv acme
    source acme/bin/activate
    pip install --upgrade pip setuptools
  2. To install acme core:

    # Install Acme core dependencies.
    pip install dm-acme
    
    # Install Reverb, our replay backend.
    pip install dm-acme[reverb]
  3. To install dependencies for our JAX/TensorFlow-based agents:

    pip install dm-acme[tf]
    # and/or
    pip install dm-acme[jax]
  4. Finally, to install environments (gym, dm_control, bsuite):

    pip install dm-acme[envs]

Citing Acme

If you use Acme in your work, please cite the accompanying technical report:

@article{hoffman2020acme,
    title={Acme: A Research Framework for Distributed Reinforcement Learning},
    author={Matt Hoffman and
            Bobak Shahriari and
            John Aslanides and
            Gabriel Barth-Maron and
            Feryal Behbahani and
            Tamara Norman and
            Abbas Abdolmaleki and
            Albin Cassirer and
            Fan Yang and
            Kate Baumli and
            Sarah Henderson and
            Alex Novikov and
            Sergio Gómez Colmenarejo and
            Serkan Cabi and
            Caglar Gulcehre and
            Tom Le Paine 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},
}

acme's People

Contributors

aslanides avatar bollwyvl avatar bshahr avatar fastturtle avatar gjtucker avatar mwhoffman avatar sguada avatar tfboyd avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.