TensorFlow Agents#

使用 TensorFlow 进行强化学习

通过提供经充分测试的可修改、可拓展的模块化组件,Agents使得设计、实现和测试新的回归算法更加容易。它实现了快速的代码迭代,同时保证了良好的测试集成和基准。

要开始使用,我们建议您先阅读我们的教程之一。

安装#

TF-Agents发布有测试版和稳定版。有关发行列表,请阅读 发行 部分。以下命令包含从 pypi.org以及GitHub克隆安装TF-Agents的稳定版和测试版。

警告:如果使用 Reverb(回放缓冲区),这种做法很常见,TF-Agents 将仅支持 Linux。

注:Python 3.11 需要 pygame 2.1.3 或更高版本。

稳定版本#

运行以下命令安装最新的稳定版本。tensorflow.org 上提供了版本的 API 文档。

$ pip install --user tf-agents[reverb]

# Use this tag get the matching examples and colabs.
$ git clone https://github.com/tensorflow/agents.git
$ cd agents
$ git checkout v0.17.0

如果您希望将 TF-Agents 与在 pip 依赖项检查中被标记为不兼容的 TensorFlow 或 Reverb 版本一起安装,请使用以下模式并自行承担风险。

$ pip install --user tensorflow
$ pip install --user dm-reverb
$ pip install --user tf-agents

如果要将 TF-Agents 与 TensorFlow 1.15 或 2.0 一起使用,请安装版本 0.3.0:

# Newer versions of tensorflow-probability require newer versions of TensorFlow.
$ pip install tensorflow-probability==0.8.0
$ pip install tf-agents==0.3.0

Nightly 版本#

Nightly 版本包含较新的功能,但可能不如带版本号的版本稳定。Nightly 版本以 tf-agents-nightly 方式推送。我们建议安装 Nightly 版本的 TensorFlow (tf-nightly) 和 TensorFlow (tfp-nightly) ,因为它们是经过测试的 TF-Agents Nightly 版本。

克隆仓库后,可以通过运行 pip install -e .[tests] 来安装依赖项。TensorFlow 需要独立安装:pip install --user tf-nightly

# `--force-reinstall helps guarantee the right versions.
$ pip install --user --force-reinstall tf-nightly
$ pip install --user --force-reinstall tfp-nightly
$ pip install --user --force-reinstall dm-reverb-nightly

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

从 GitHub#

克隆存储库后,可以通过运行 pip install -e .[tests] 来安装依赖项。TensorFlow 需要独立安装:pip install --user tf-nightly

贡献#

我们渴望与您合作!有关如何贡献的指南,请参阅 CONTRIBUTING.md。此项目遵循 TensorFlow 的行为准则。参与,即表示您同意遵循此准则。

版本#

TF Agents 具有稳定版和 Nightly 版。Nightly 版通常可以使用,但由于上游库处于不稳定状态,可能会出现问题。下表列出了与每个 TF Agents 版本对齐的 TensorFlow 版本。相关版本如下:

  • 0.16.0 是支持 Python 3.11 的第一个版本。

  • 0.15.0 是与 Python 3.7 兼容的最后一个版本。

  • 如果使用的 numpy 版本低于 1.19,请使用 TF-Agents 0.15.0 或更早版本。

  • 0.9.0 是与 Python 3.6 兼容的最后一个版本。

  • 0.3.0 是与 Python 2.x 兼容的最后一个版本。

版本

分支/标签

TensorFlow 版本

dm-reverb 版本

Nightly 版本

master

tf-nightly

dm-reverb-nightly

0.17.0

v0.17.0

2.13.0

0.12.0

0.16.0

v0.16.0

2.12.0

0.9.0

0.15.0

v0.15.0

2.11.0

0.8.0

0.14.0

v0.14.0

2.10.0

0.9.0

0.13.0

v0.13.0

2.9.0

0.8.0

0.12.0

v0.12.0

2.8.0

0.7.0

0.11.0

v0.11.0

2.7.0

0.6.0

0.10.0

v0.10.0

2.5.0

0.9.0

v0.9.0

2.6.0

0.8.0

v0.8.0

2.5.0

0.7.1

v0.7.1

2.4.0

0.6.0

v0.6.0

2.3.0

0.5.0

v0.5.0

2.2.0

0.4.0

v0.4.0

2.1.0

0.3.0

v0.3.0

1.15.0 和 2.0.0

原则#

该项目坚持 Google’s AI principles. 参与、使用或为该项目做出贡献的过程,您需要遵守这些原则。

引用#

如果您使用此代码,请按如下方式引用:

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