
Tensorflow Addons è un deposito di contributi che conformi a schemi API consolidati, ma implementano nuove funzionalità non disponibili in tensorflow nucleo. TensorFlow supporta nativamente un gran numero di operatori, livelli, metriche, perdite e ottimizzatori. Tuttavia, in un campo in rapida evoluzione come il machine learning, ci sono molti nuovi sviluppi interessanti che non possono essere integrati nel core di TensorFlow (perché la loro ampia applicabilità non è ancora chiara o è utilizzata principalmente da un sottoinsieme più piccolo della comunità).
Installazione
Build stabili
Per installare la versione più recente, eseguire quanto segue:
pip install tensorflow-addons
Per utilizzare i componenti aggiuntivi:
import tensorflow as tf
import tensorflow_addons as tfa
Build notturne
Ci sono anche le nightly build di tensorflow Addons sotto il pacchetto pip tfa-nightly
, che è costruito contro l'ultima versione stabile di tensorflow. Le build notturne includono funzionalità più recenti, ma potrebbero essere meno stabili rispetto alle versioni con versione.
pip install tfa-nightly
Installazione dalla sorgente
Puoi anche installare dal sorgente. Ciò richiede la Bazel sistema di compilazione.
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_TOOLKIT_PATH="/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
Concetti principali
API standardizzata all'interno dei sottopacchetti
L'esperienza dell'utente e la manutenibilità del progetto sono concetti fondamentali in TF-Addons. Per raggiungere questi obiettivi, richiediamo che le nostre aggiunte siano conformi ai modelli API stabiliti visti nel core TensorFlow.
Operazioni personalizzate GPU/CPU
Uno dei principali vantaggi di TensorFlow Addons è che ci sono operazioni precompilate. Se non viene trovata un'installazione CUDA 10, l'operazione tornerà automaticamente a un'implementazione della CPU.
Mantenimento del proxy
I componenti aggiuntivi sono stati progettati per suddividere in compartimenti i sottopacchetti e i sottomoduli in modo che possano essere mantenuti da utenti che hanno esperienza e un interesse acquisito in quel componente.
Il mantenimento del sottopacchetto sarà concesso solo dopo che è stato fatto un contributo sostanziale al fine di limitare il numero di utenti con permesso di scrittura. I contributi possono arrivare sotto forma di chiusura di problemi, correzioni di bug, documentazione, nuovo codice o ottimizzazione di codice esistente. Il mantenimento del sottomodulo può essere concesso con una barriera inferiore per l'ingresso in quanto ciò non includerà i permessi di scrittura per il repository.
Per ulteriori informazioni consultare la RFC su questo argomento.
Valutazione periodica dei sottopacchetti
Data la natura di questo repository, i sottopacchetti ei sottomoduli possono diventare sempre meno utili per la comunità col passare del tempo. Al fine di mantenere il repository sostenibile, eseguiremo revisioni semestrali del nostro codice per garantire che tutto appartenga ancora al repository. I fattori che contribuiscono a questa revisione saranno:
- Numero di manutentori attivi
- Quantità di utilizzo dell'OSS
- Quantità di problemi o bug attribuiti al codice
- Se ora è disponibile una soluzione migliore
Le funzionalità all'interno di TensorFlow Addons possono essere classificate in tre gruppi:
- Suggerito: API curata; l'uso è incoraggiato.
- Scoraggiato: una migliore alternativa è disponibile; l'API viene conservata per motivi storici; o l'API richiede manutenzione ed è il periodo di attesa per essere deprecato.
- Deprecato: uso a proprio rischio; soggetto da eliminare.
Il cambio di stato tra questi tre gruppi è: Suggerito <-> Scoraggiato -> Deprecato.
Il periodo tra un'API contrassegnata come deprecata e l'eliminazione sarà di 90 giorni. La motivazione è:
Nel caso in cui TensorFlow Addons venga rilasciato mensilmente, ci saranno 2-3 rilasci prima che un'API venga eliminata. Le note di rilascio potrebbero fornire all'utente un avvertimento sufficiente.
90 giorni danno ai manutentori tutto il tempo per correggere il loro codice.
Contribuire
TF-Addons è un progetto open source guidato dalla comunità. In quanto tale, il progetto dipende da contributi pubblici, correzioni di bug e documentazione. Si prega di consultare le linee guida di contribuzione per una guida su come contribuire. Questo progetto aderisce al codice di condotta del tensorflow . Partecipando, sei tenuto a rispettare questo codice.
Comunità
- Mailing List pubblica
- Note sulla riunione mensile SIG
- Iscriviti alla nostra mailing list e ricevi gli inviti del calendario alla riunione