https://github.com/google/dopamine

Dopamine is a research framework for fast prototyping of reinforcement learning algorithms.

https://github.com/google/dopamine

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

ai google ml rl tensorflow

Keywords from Contributors

research reinforcement-learning deep-neural-networks distributed tpu jax
Last synced: 5 months ago · JSON representation

Repository

Dopamine is a research framework for fast prototyping of reinforcement learning algorithms.

Basic Info
Statistics
  • Stars: 10,799
  • Watchers: 417
  • Forks: 1,390
  • Open Issues: 110
  • Releases: 2
Topics
ai google ml rl tensorflow
Created over 7 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Authors

README.md

Dopamine

Getting Started | Docs | Baseline Results | Changelist



Dopamine is a research framework for fast prototyping of reinforcement learning algorithms. It aims to fill the need for a small, easily grokked codebase in which users can freely experiment with wild ideas (speculative research).

Our design principles are:

  • Easy experimentation: Make it easy for new users to run benchmark experiments.
  • Flexible development: Make it easy for new users to try out research ideas.
  • Compact and reliable: Provide implementations for a few, battle-tested algorithms.
  • Reproducible: Facilitate reproducibility in results. In particular, our setup follows the recommendations given by Machado et al. (2018).

Dopamine supports the following agents, implemented with jax:

For more information on the available agents, see the docs.

Many of these agents also have a tensorflow (legacy) implementation, though newly added agents are likely to be jax-only.

This is not an official Google product.

Getting Started

We provide docker containers for using Dopamine. Instructions can be found here.

Alternatively, Dopamine can be installed from source (preferred) or installed with pip. For either of these methods, continue reading at prerequisites.

Prerequisites

Dopamine supports Atari environments and Mujoco environments. Install the environments you intend to use before you install Dopamine:

Atari

  1. These should now come packaged with ale_py.
  2. You may need to manually run some steps to properly install baselines, see instructions.

Mujoco

  1. Install Mujoco and get a license here.
  2. Run pip install mujoco-py (we recommend using a virtual environment).

Installing from Source

The most common way to use Dopamine is to install it from source and modify the source code directly:

git clone https://github.com/google/dopamine

After cloning, install dependencies:

pip install -r dopamine/requirements.txt

Dopamine supports tensorflow (legacy) and jax (actively maintained) agents. View the Tensorflow documentation for more information on installing tensorflow.

Note: We recommend using a virtual environment when working with Dopamine.

Installing with Pip

Note: We strongly recommend installing from source for most users.

Installing with pip is simple, but Dopamine is designed to be modified directly. We recommend installing from source for writing your own experiments.

pip install dopamine-rl

Running tests

You can test whether the installation was successful by running the following from the dopamine root directory.

export PYTHONPATH=$PYTHONPATH:$PWD python -m tests.dopamine.atari_init_test

Next Steps

View the docs for more information on training agents.

We supply baselines for each Dopamine agent.

We also provide a set of Colaboratory notebooks which demonstrate how to use Dopamine.

References

Bellemare et al., The Arcade Learning Environment: An evaluation platform for general agents. Journal of Artificial Intelligence Research, 2013.

Machado et al., Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents, Journal of Artificial Intelligence Research, 2018.

Hessel et al., Rainbow: Combining Improvements in Deep Reinforcement Learning. Proceedings of the AAAI Conference on Artificial Intelligence, 2018.

Mnih et al., Human-level Control through Deep Reinforcement Learning. Nature, 2015.

Schaul et al., Prioritized Experience Replay. Proceedings of the International Conference on Learning Representations, 2016.

Haarnoja et al., Soft Actor-Critic Algorithms and Applications, arXiv preprint arXiv:1812.05905, 2018.

Schulman et al., Proximal Policy Optimization Algorithms.

Giving credit

If you use Dopamine in your work, we ask that you cite our white paper. Here is an example BibTeX entry:

@article{castro18dopamine, author = {Pablo Samuel Castro and Subhodeep Moitra and Carles Gelada and Saurabh Kumar and Marc G. Bellemare}, title = {Dopamine: {A} {R}esearch {F}ramework for {D}eep {R}einforcement {L}earning}, year = {2018}, url = {http://arxiv.org/abs/1812.06110}, archivePrefix = {arXiv} }

Owner

  • Name: Google
  • Login: google
  • Kind: organization
  • Email: opensource@google.com
  • Location: United States of America

Google ❤️ Open Source

GitHub Events

Total
  • Issues event: 7
  • Watch event: 275
  • Issue comment event: 13
  • Push event: 5
  • Pull request review event: 1
  • Pull request event: 2
  • Fork event: 33
Last Year
  • Issues event: 7
  • Watch event: 275
  • Issue comment event: 13
  • Push event: 5
  • Pull request review event: 1
  • Pull request event: 2
  • Fork event: 33

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 346
  • Total Committers: 16
  • Avg Commits per committer: 21.625
  • Development Distribution Score (DDS): 0.555
Past Year
  • Commits: 6
  • Committers: 2
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.167
Top Committers
Name Email Commits
Pablo Samuel Castro p****c@g****m 154
Dopamine Team n****y@g****m 53
Alexandre Vassalotti a****i@g****m 49
Rishabh Agarwal r****l@g****m 26
Joshua Greaves j****s@g****m 24
Utku Evci e****u@g****m 9
Marc G. Bellemare b****e@g****m 8
Johan Obando Ceron o****n@g****m 7
Subhodeep Moitra s****a@g****m 5
Baruch Tabanpour b****a@g****m 3
Jing Conan Wang j****g@g****m 2
Ted Willke t****e@i****m 2
Chih-wei Hsu c****u@g****m 1
Marlos C. Machado m****m@g****m 1
Olivier Teboul o****t@g****m 1
William Fedus l****s@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 92
  • Total pull requests: 32
  • Average time to close issues: 3 months
  • Average time to close pull requests: 6 months
  • Total issue authors: 71
  • Total pull request authors: 27
  • Average comments per issue: 2.87
  • Average comments per pull request: 1.63
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 3
Past Year
  • Issues: 9
  • Pull requests: 1
  • Average time to close issues: 4 days
  • Average time to close pull requests: 6 minutes
  • Issue authors: 8
  • Pull request authors: 1
  • Average comments per issue: 0.89
  • Average comments per pull request: 3.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • RylanSchaeffer (5)
  • GoingMyWay (4)
  • rfali (3)
  • sunchipsster1 (3)
  • FelipeMartins96 (3)
  • theovincent (2)
  • ZifanWu (2)
  • bryanyuan1 (2)
  • satst27 (2)
  • amrzv (2)
  • xinghua-qu (2)
  • pseudo-rnd-thoughts (2)
  • sunhao12121 (2)
  • phoenixjyb (1)
  • tylerkastner (1)
Pull Request Authors
  • dependabot[bot] (3)
  • modanesh (3)
  • mingless (2)
  • Yaskm08 (2)
  • erick-hash (2)
  • joaogui1 (1)
  • athulkannan2000 (1)
  • JesseFarebro (1)
  • SwanseaLeo (1)
  • MaxASchwarzer (1)
  • ddlau (1)
  • mklissa (1)
  • Mattia-Colbertaldo (1)
  • crobarcro (1)
  • jjh42 (1)
Top Labels
Issue Labels
Pull Request Labels
cla: yes (19) dependencies (3) cla: no (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 25,565 last-month
  • Total docker downloads: 24,427,969
  • Total dependent packages: 4
  • Total dependent repositories: 733
  • Total versions: 38
  • Total maintainers: 1
pypi.org: dopamine-rl

Dopamine: A framework for flexible Reinforcement Learning research

  • Versions: 38
  • Dependent Packages: 4
  • Dependent Repositories: 733
  • Downloads: 25,565 Last month
  • Docker Downloads: 24,427,969
Rankings
Stargazers count: 0.2%
Dependent repos count: 0.4%
Docker downloads count: 0.7%
Average: 1.1%
Forks count: 1.1%
Downloads: 1.6%
Dependent packages count: 2.4%
Maintainers (1)
Last synced: 6 months ago

Dependencies

dopamine/labs/tandem_dqn/requirements.txt pypi
  • absl-py *
  • atari-py *
  • dopamine-rl *
  • gin-config *
  • gym *
  • numpy *
  • tensorflow *
requirements.txt pypi
  • Keras-Preprocessing >=1.1.2
  • Markdown >=3.2.2
  • Pillow >=7.2.0
  • Werkzeug >=1.0.1
  • absl-py >=0.9.0
  • astunparse >=1.6.3
  • atari-py >=0.2.6
  • cachetools >=4.1.1
  • certifi >=2020.6.20
  • chardet >=3.0.4
  • cloudpickle >=1.3.0
  • cycler >=0.10.0
  • flax >=0.3.3
  • future >=0.18.2
  • gast >=0.3.3
  • gin-config >=0.3.0
  • google-auth >=1.19.2
  • google-auth-oauthlib >=0.4.1
  • google-pasta >=0.2.0
  • grpcio >=1.30.0
  • gym >=0.17.2
  • h5py >=2.10.0
  • idna >=2.10
  • jax >=0.2.12
  • jaxlib >=0.1.65
  • kiwisolver >=1.2.0
  • matplotlib >=3.3.0
  • msgpack >=1.0.0
  • numpy >=1.18.5
  • oauthlib >=3.1.0
  • opencv-python >=4.3.0.36
  • opt-einsum >=3.3.0
  • pandas >=1.0.5
  • protobuf >=3.12.2
  • pyasn1 >=0.4.8
  • pyasn1-modules >=0.2.8
  • pygame >=1.9.6
  • pyglet >=1.5.0
  • pyparsing >=2.4.7
  • python-dateutil >=2.8.1
  • pytz >=2020.1
  • requests >=2.24.0
  • requests-oauthlib >=1.3.0
  • rsa >=4.6
  • scipy >=1.4.1
  • setuptools >=49.2.01
  • six >=1.15.0
  • tensorboard *
  • tensorboard-plugin-wit *
  • tensorflow *
  • tensorflow-estimator *
  • tensorflow-probability >=0.13.0
  • termcolor >=1.1.0
  • tf-slim >=1.1.0
  • urllib3 >=1.25.10
  • wrapt >=1.12.1
setup.py pypi
  • absl-py *
  • gin-config *
  • gym *
  • opencv-python *
  • tensorflow *
docker/atari/Dockerfile docker
  • ${base_image} latest build
docker/core/Dockerfile docker
  • nvidia/cuda ${cuda_docker_tag} build
docker/mujoco/Dockerfile docker
  • ${base_image} latest build