本頁面由 Cloud Translation API 翻譯而成。
Switch to English

TensorFlow插件




TensorFlow插件是符合標準的API模式但提供了核心TensorFlow中不可用的新功能的貢獻庫。 TensorFlow原生支持大量的運算符,層,指標,損失和優化器。但是,在像ML這樣的快速發展的領域中,有許多有趣的新開發無法集成到核心TensorFlow中(因為它們的廣泛適用性尚不明確,或者主要由社區的較小子集使用)。

安裝

穩定的構建

要安裝最新版本,請運行以下命令:

 pip install tensorflow-addons
 

要使用插件:

 import tensorflow as tf
import tensorflow_addons as tfa
 

每晚構建

tfa-nightly軟件包tfa-nightly下還存在每晚的TensorFlow Addons構建,它是針對TensorFlow的最新穩定版本構建的。每晚構建包含較新的功能,但可能不如版本發布穩定。

 pip install tfa-nightly
 

從源安裝

您也可以從源代碼安裝。這需要Bazel構建系統。

 git clone https://github.com/tensorflow/addons.git
cd addons

# If building GPU Ops (Requires CUDA 10.0 and CuDNN 7)
export TF_NEED_CUDA=1
export CUDA_HOME="/path/to/cuda10" (default: /usr/local/cuda)
export CUDNN_INSTALL_PATH="/path/to/cudnn" (default: /usr/lib/x86_64-linux-gnu)

# This script links project with TensorFlow dependency
python3 ./configure.py

bazel build build_pip_pkg
bazel-bin/build_pip_pkg artifacts

pip install artifacts/tensorflow_addons-*.whl
 

核心概念

子包中的標準化API

用戶體驗和項目可維護性是TF-Addons中的核心概念。為了實現這些目標,我們要求添加的內容符合核心TensorFlow中已建立的API模式。

GPU / CPU自定義操作

TensorFlow Addons的主要好處是可以預編譯操作。如果找不到CUDA 10安裝,則操作將自動退回到CPU實施。

代理維護

附加組件旨在將子包和子模塊分隔開,以便對這些組件具有專業知識和既有興趣的用戶可以維護它們。

僅在做出實質性貢獻後才能授予子軟件包維護權,以限制具有寫許可權的用戶數量。貢獻可以以問題結局,錯誤修復,文檔,新代碼或優化現有代碼的形式出現。子模塊維護權限的授予壁壘較低,因為它不包括對存儲庫的寫權限。

有關更多信息,請參見RFC

子包裝的定期評估

考慮到該存儲庫的性質,隨著時間的流逝,子包和子模塊對社區的用處可能越來越少。為了使資源庫具有可持續性,我們將對代碼進行半年一次的審核,以確保所有內容仍屬於該存儲庫。導致此次審核的因素有:

  1. 活躍維護者數量
  2. OSS使用量
  3. 歸因於代碼的問題或錯誤數量
  4. 如果現在有更好的解決方案

TensorFlow插件中的功能可以分為三類:

  • 建議 :維護良好的API;鼓勵使用。
  • 灰心 :有更好的選擇。保留API是出於歷史原因;或API需要維護,這是不建議使用的等待時間。
  • 棄用 :使用風險自負;被刪除。

這三個組之間的狀態更改為:建議<->不鼓勵->不推薦使用。

將API標記為已棄用與刪除之間的期限為90天。理由是:

  1. 如果TensorFlow插件每月發布一次,則在刪除API之前將有2-3個版本發布。發行說明可能會給用戶足夠的警告。

  2. 90天使維護人員有足夠的時間來修復其代碼。

貢獻

TF-Addons是一個社區主導的開源項目。因此,該項目取決於公共貢獻,錯誤修復和文檔。請參閱貢獻準則以獲取有關貢獻方式的指南 。該項目遵守TensorFlow的行為準則 。通過參與,您將遵守此代碼。

社區

執照

Apache許可2.0