TensorFlow Agents

基于 TensorFlow 的强化学习

Agents 通过提供经过充分测试的模块化组件(可进行修改和扩展),使设计、实现和测试新的强化学习(RL)算法变得更加容易。它支持快速的代码迭代,并具有良好的测试集成和基准测试功能。

若要开始使用,建议查看我们的教程

安装

TF-Agents 发布 nightly(每日构建)和稳定版本。有关版本列表,请阅读发布部分。以下命令涵盖了从 pypi.org 以及通过 GitHub 克隆安装 TF-Agents 稳定版和 nightly 版的方法。

:warning: 如果使用 Reverb(经验回放缓冲区,非常常见),TF-Agents 仅适用于 Linux 系统。

稳定版

运行以下命令安装最新的稳定版本。该版本的 API 文档位于 tensorflow.org

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

# Use keras-2
$ export TF_USE_LEGACY_KERAS=1
# Use this tag get the matching examples and colabs.
$ git clone https://github.com/tensorflow/agents.git
$ cd agents
$ git checkout v0.19.0

如果您想安装与 pip 依赖检查认为不兼容的 TensorFlow 或 Reverb 版本配套的 TF-Agents,请自担风险使用以下模式。

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

如果您想在 TensorFlow 1.15 或 2.0 版本下使用 TF-Agents,请安装 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 发布。我们建议安装 TensorFlow 的 nightly 版本(tf-nightly)和 TensorFlow Probability 的 nightly 版本(tfp-nightly),因为这些是测试 TF-Agents nightly 版本时所使用的环境。

要安装 nightly 构建版本,请运行以下命令:

# Use keras-2
$ export TF_USE_LEGACY_KERAS=1
# `--force-reinstall helps guarantee the right versions.
$ pip install --user --force-reinstall tf-nightly
$ pip install --user --force-reinstall tf-keras-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.19.0 支持 tensorflow-2.15.0。
  • 0.18.0 停止了对 Python 3.8 的支持。
  • 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.19.0 v0.19.0 2.15.0 0.14.0
0.18.0 v0.18.0 2.14.0 0.13.0
0.17.0 v0.17.0 2.13.0 0.12.0
0.16.0 v0.16.0 2.12.0 0.11.0
0.15.0 v0.15.0 2.11.0 0.10.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.6.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 的 AI 原则。参与、使用或为本项目做出贡献,即表示您同意遵守这些原则。

引用

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

@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]"
}