使用 TensorFlow 進行強化學習
Agents 透過提供經過良好測試、可修改和擴展的模組化組件,讓設計、實作和測試新的 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
如果您想要使用 TensorFlow 或 Reverb 版本安裝 TF-Agents,但這些版本被 pip 相依性檢查標示為不相容,請自行承擔風險使用以下模式。
$ 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
每夜版
每夜版組建包含較新的功能,但可能不如版本化版本穩定。每夜版組建會以 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]"
}