使用 TensorFlow 进行强化学习
代理通过提供经过良好测试的模块化组件来简化新 RL 算法的设计、实现和测试,这些组件可以修改和扩展。 它支持快速代码迭代,并具有良好的测试集成和基准测试。
要开始使用,我们建议您查看我们的 教程 之一。
安装
TF-Agents 发布了夜间构建和稳定构建。 有关版本列表,请阅读 版本 部分。 以下命令涵盖了从 pypi.org 以及从 GitHub 克隆安装 TF-Agents 稳定版和夜间版。
: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
如果您想安装 TF-Agents 与 pip 依赖项检查标记为不兼容的 Tensorflow 或 Reverb 版本一起使用,请自行承担风险使用以下模式。
$ pip install --user tensorflow
$ pip install --user tf-keras
$ 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
夜间版
夜间构建包含更新的功能,但可能不如版本化版本稳定。 夜间构建被推送到 tf-agents-nightly
。 我们建议安装 TensorFlow 的夜间版本 (tf-nightly
) 和 TensorFlow Probability (tfp-nightly
),因为这些是 TF-Agents 夜间版经过测试的版本。
要安装夜间构建版本,请运行以下命令
# 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 具有稳定版和夜间版。 夜间版通常很好,但由于上游库处于不断变化中,可能会出现问题。 下表列出了与每个 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 版本 |
---|---|---|---|
夜间版 | 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]"
}