Cette page a été traduite par l'API Cloud Translation.
Switch to English

Modules complémentaires TensorFlow




TensorFlow Addons est un référentiel de contributions qui se conforme aux modèles d'API bien établis, mais implémentent de nouvelles fonctionnalités non disponibles dans TensorFlow principal. TensorFlow prend en charge nativement un grand nombre d'opérateurs, de couches, de métriques, de pertes et d'optimiseurs. Cependant, dans un domaine en évolution rapide comme le ML, il existe de nombreux nouveaux développements intéressants qui ne peuvent pas être intégrés dans le noyau de TensorFlow (car leur large applicabilité n'est pas encore claire, ou il est principalement utilisé par un sous-ensemble plus petit de la communauté).

Installation

Constructions stables

Pour installer la dernière version, exécutez ce qui suit:

 pip install tensorflow-addons
 

Pour utiliser des addons:

 import tensorflow as tf
import tensorflow_addons as tfa
 

Constructions nocturnes

Il existe également des versions nocturnes des addons TensorFlow sous le package pip tfa-nightly , qui est construit avec la dernière version stable de TensorFlow. Les versions nocturnes incluent des fonctionnalités plus récentes, mais peuvent être moins stables que les versions versionnées.

 pip install tfa-nightly
 

Installation à partir de la source

Vous pouvez également installer à partir de la source. Cela nécessite le système de construction 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
 

Concepts de base

API standardisée dans les sous-packages

L'expérience utilisateur et la maintenabilité des projets sont des concepts fondamentaux dans TF-Addons. Pour atteindre ces objectifs, nous exigeons que nos ajouts soient conformes aux modèles d'API établis dans le noyau TensorFlow.

Opérations personnalisées GPU / CPU

Un avantage majeur des addons TensorFlow est qu'il existe des opérations précompilées. Si une installation CUDA 10 n'est pas trouvée, alors l'op reviendra automatiquement à une implémentation CPU.

Mainteneur de mandataire

Addons a été conçu pour compartimenter les sous-packages et sous-modules afin qu'ils puissent être maintenus par des utilisateurs qui ont une expertise et un intérêt direct dans ce composant.

La responsabilité de la maintenance du sous-paquet ne sera accordée qu'après une contribution substantielle afin de limiter le nombre d'utilisateurs disposant d'une autorisation en écriture. Les contributions peuvent prendre la forme de fermetures de problèmes, de corrections de bogues, de documentation, de nouveau code ou d'optimisation de code existant. Le mainteneur de sous-module peut être accordé avec une barrière d'entrée plus faible car cela n'inclura pas les autorisations d'écriture sur le dépôt.

Pour plus d'informations, consultez la RFC sur ce sujet.

Évaluation périodique des sous-ensembles

Compte tenu de la nature de ce référentiel, les sous-packages et sous-modules peuvent devenir de moins en moins utiles à la communauté avec le temps. Afin de maintenir le référentiel durable, nous effectuerons des examens semestriels de notre code pour nous assurer que tout appartient toujours au référentiel. Les facteurs contributifs à cet examen seront:

  1. Nombre de mainteneurs actifs
  2. Quantité d'utilisation d'OSS
  3. Nombre de problèmes ou de bogues attribués au code
  4. Si une meilleure solution est maintenant disponible

Les fonctionnalités des modules complémentaires TensorFlow peuvent être classées en trois groupes:

  • Suggéré : API bien entretenue; l'utilisation est encouragée.
  • Découragé : une meilleure alternative est disponible; l'API est conservée pour des raisons historiques; ou l'API nécessite une maintenance et est la période d'attente pour être obsolète.
  • Obsolète : utilisez à vos propres risques; sujet à supprimer.

Le changement de statut entre ces trois groupes est: Suggéré <-> Découragé -> Déprécié.

La période entre une API marquée comme obsolète et sa suppression sera de 90 jours. La justification étant:

  1. Dans le cas où TensorFlow Addons sortira chaque mois, il y aura 2-3 versions avant qu'une API ne soit supprimée. Les notes de publication pourraient donner suffisamment d'avertissement à l'utilisateur.

  2. 90 jours donnent aux responsables suffisamment de temps pour corriger leur code.

Contribuant

TF-Addons est un projet open source mené par la communauté. En tant que tel, le projet dépend des contributions publiques, des corrections de bogues et de la documentation. Veuillez consulter les directives de contribution pour un guide sur la façon de contribuer. Ce projet adhère au code de conduite de TensorFlow . En participant, vous devez respecter ce code.

Communauté

Licence

Licence Apache 2.0