/agents

TF-Agents is a library for Reinforcement Learning in TensorFlow

Primary LanguagePythonApache License 2.0Apache-2.0

TF-Agents: A library for Reinforcement Learning in TensorFlow

NOTE: Current TF-Agents pre-release is under active development and interfaces may change at any time. Feel free to provide feedback and comments.

To get started, we recommend checking out one of our Colab tutorials. If you need an intro to RL (or a quick recap), start here. Otherwise, check out our DQN tutorial to get an agent up and running in the Cartpole environment.

Table of contents

Agents
Tutorials
Examples
Installation
Contributing
Principles
Citation
Disclaimer

Agents

In TF-Agents, the core elements of RL algorithms are implemented as Agents. An agent encompasses two main responsibilities: defining a Policy to interact with the Environment, and how to learn/train that Policy from collected experience.

Currently the following algorithms are available under TF-Agents:

Tutorials

See tf_agents/colabs/ for tutorials on the major components provided.

Examples

End-to-end examples training agents can be found under each agent directory. e.g.:

Installation

To install the latest version, use nightly builds of TF-Agents under the pip package tf-agents-nightly, which requires you install on one of tf-nightly and tf-nightly-gpu and also tfp-nightly. Nightly builds include newer features, but may be less stable than the versioned releases.

To install the nightly build version, run the following:

# Installing with the `--upgrade` flag ensures you'll get the latest version.
pip install --user --upgrade tf-agents-nightly  # depends on tf-nightly

If you clone the repository you will still need a tf-nightly installation. You can then run pip install -e .[tests] from the agents directory to get dependencies to run tests.

Contributing

We're eager to collaborate with you! See CONTRIBUTING.md for a guide on how to contribute. This project adheres to TensorFlow's code of conduct. By participating, you are expected to uphold this code.

Principles

This project adheres to Google's AI principles. By participating, using or contributing to this project you are expected to adhere to these principles.

Citation

If you use this code please cite it as:

@misc{TFAgents,
  title = {{TF-Agents}: A library for Reinforcement Learning in TensorFlow},
  author = "{Sergio Guadarrama, Anoop Korattikara, Oscar Ramirez,
    Pablo Castro, Ethan Holly, Sam Fishman, Ke Wang, Ekaterina Gonina, Neal Wu,
    Chris Harris, Vincent Vanhoucke, Eugene Brevdo}",
  howpublished = {\url{https://github.com/tensorflow/agents}},
  url = "https://github.com/tensorflow/agents",
  year = 2018,
  note = "[Online; accessed 25-June-2019]"
}

Disclaimer

This is not an official Google product.