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.
The documentation, examples and tutorials will grow over the next few weeks.
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:
- DQN: Human level control through deep reinforcement learning Mnih et al., 2015
- DDQN: Deep Reinforcement Learning with Double Q-learning Hasselt et al., 2015
- DDPG: Continuous control with deep reinforcement learning Lillicrap et al., 2015
- TD3: Addressing Function Approximation Error in Actor-Critic Methods Fujimoto et al., 2018
- REINFORCE: Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning Williams, 1992
- PPO: Proximal Policy Optimization Algorithms Schulman et al., 2017
- SAC: Soft Actor Critic Haarnoja et al., 2018
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,
Chris Harris, Vincent Vanhoucke, Eugene Brevdo}",
howpublished = {\url{https://github.com/tensorflow/agents}},
url = "https://github.com/tensorflow/agents",
year = 2018,
note = "[Online; accessed 30-November-2018]"
}
Disclaimer
This is not an official Google product.