Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Dodatki TensorFlow




Dodatki TensorFlow to repozytorium wpisów, które są zgodne z ugruntowanymi wzorcami API, ale implementują nowe funkcje niedostępne w rdzeniu TensorFlow. TensorFlow natywnie obsługuje dużą liczbę operatorów, warstw, metryk, strat i optymalizatorów. Jednak w szybko zmieniającej się dziedzinie, takiej jak ML, istnieje wiele interesujących nowych rozwiązań, których nie można zintegrować z rdzeniem TensorFlow (ponieważ ich szerokie zastosowanie nie jest jeszcze jasne lub jest używane głównie przez mniejszą część społeczności).

Instalacja

Stabilne konstrukcje

Aby zainstalować najnowszą wersję, uruchom:

 pip install tensorflow-addons
 

Aby korzystać z dodatków:

 import tensorflow as tf
import tensorflow_addons as tfa
 

nocne budowanie

Istnieją również nocne kompilacje dodatków TensorFlow w pakiecie pip tfa-nightly , który jest oparty na najnowszej stabilnej wersji TensorFlow. Wersje nocne zawierają nowsze funkcje, ale mogą być mniej stabilne niż wersje wersjonowane.

 pip install tfa-nightly
 

Instalowanie ze źródła

Możesz także zainstalować ze źródła. Wymaga to systemu kompilacji 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
 

Podstawowe pojęcia

Standaryzowany interfejs API w podpakietach

Doświadczenie użytkownika i łatwość utrzymania projektu to podstawowe pojęcia w TF-Addons. Aby to osiągnąć, wymagamy, aby nasze dodatki były zgodne z ustalonymi wzorcami API widocznymi w rdzeniu TensorFlow.

Niestandardowe operacje GPU / CPU

Główną zaletą dodatków TensorFlow jest to, że istnieją wstępnie skompilowane operacje. Jeśli instalacja CUDA 10 nie zostanie znaleziona, operacja automatycznie powróci do implementacji procesora.

Utrzymanie pełnomocnika

Dodatki zostały zaprojektowane w celu podzielenia podpakietów i modułów podrzędnych, tak aby mogły być obsługiwane przez użytkowników posiadających doświadczenie i żywotne interesy w tym komponencie.

Opieka nad podpakietami zostanie udzielona dopiero po wniesieniu znacznego wkładu w celu ograniczenia liczby użytkowników z uprawnieniami do zapisu. Wkłady mogą mieć formę zamykania problemów, poprawek błędów, dokumentacji, nowego kodu lub optymalizacji istniejącego kodu. Opiekę nad podmodułem można przyznać z niższą barierą wejścia, ponieważ nie obejmuje to uprawnień do zapisu w repozytorium.

Więcej informacji można znaleźć w dokumencie RFC na ten temat.

Okresowa ocena podpakietów

Biorąc pod uwagę charakter tego repozytorium, podpakiety i moduły podrzędne mogą w miarę upływu czasu stawać się coraz mniej przydatne dla społeczności. Aby zapewnić trwałość repozytorium, będziemy co dwa lata przeprowadzać przeglądy naszego kodu, aby upewnić się, że wszystko nadal należy do repozytorium. Czynnikami przyczyniającymi się do tego przeglądu będą:

  1. Liczba aktywnych opiekunów
  2. Ilość wykorzystanych OSS
  3. Liczba problemów lub błędów przypisanych do kodu
  4. Jeśli teraz dostępne jest lepsze rozwiązanie

Funkcjonalność dodatków TensorFlow można podzielić na trzy grupy:

  • Sugerowane : dobrze utrzymane API; korzystanie jest zalecane.
  • Zniechęcony : dostępna jest lepsza alternatywa; API jest przechowywane z powodów historycznych; lub interfejs API wymaga konserwacji i jest okresem oczekiwania na wycofanie.
  • Przestarzałe : używaj na własne ryzyko; temat do usunięcia.

Zmiana stanu między tymi trzema grupami to: Zalecane <-> Odradzane -> Nieaktualne.

Okres między oznaczeniem interfejsu API jako przestarzałego a usunięciem wyniesie 90 dni. Powodem jest:

  1. W przypadku, gdy dodatki TensorFlow będą wydawane co miesiąc, przed usunięciem API pojawią się 2-3 wersje. Uwagi do wydania mogą dać użytkownikowi wystarczające ostrzeżenie.

  2. 90 dni daje opiekunom wystarczająco dużo czasu na naprawienie swojego kodu.

Współtworzenie

TF-Addons to projekt open source prowadzony przez społeczność. W związku z tym projekt zależy od wkładu publicznego, poprawek błędów i dokumentacji. Zapoznaj się ze wskazówkami dotyczącymi darowizn, aby zapoznać się z przewodnikiem, jak to zrobić. Ten projekt jest zgodny z kodeksem postępowania TensorFlow . Biorąc udział, musisz przestrzegać tego kodu.

Społeczność

Licencja

Licencja Apache 2.0