
Complementos TensorFlow es un repositorio de contribuciones que se ajustan a los patrones de API bien establecidos, pero implementan una nueva funcionalidad no está disponible en TensorFlow núcleo. TensorFlow admite de forma nativa una gran cantidad de operadores, capas, métricas, pérdidas y optimizadores. Sin embargo, en un campo de rápido movimiento como ML, hay muchos desarrollos nuevos interesantes que no se pueden integrar en el núcleo de TensorFlow (porque su amplia aplicabilidad aún no está clara, o es utilizado principalmente por un subconjunto más pequeño de la comunidad).
Instalación
Construcciones estables
Para instalar la última versión, ejecute lo siguiente:
pip install tensorflow-addons
Para usar complementos:
import tensorflow as tf
import tensorflow_addons as tfa
Construcciones nocturnas
También hay versiones compiladas de TensorFlow Complementos bajo el paquete PIP tfa-nightly
, que se construye sobre la última versión estable de TensorFlow. Las compilaciones nocturnas incluyen características más nuevas, pero pueden ser menos estables que las versiones versionadas.
pip install tfa-nightly
Instalación desde la fuente
También puede instalar desde la fuente. Esto requiere que el Basel sistema de construcción.
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
Conceptos básicos
API estandarizada dentro de subpaquetes
La experiencia del usuario y la capacidad de mantenimiento del proyecto son conceptos básicos en TF-Addons. Para lograr esto, necesitamos que nuestras adiciones se ajusten a los patrones de API establecidos que se ven en el núcleo de TensorFlow.
Operaciones personalizadas de GPU / CPU
Una de las principales ventajas de los complementos de TensorFlow es que existen operaciones precompiladas. Si no se encuentra una instalación de CUDA 10, la operación recurrirá automáticamente a una implementación de CPU.
Mantenimiento de apoderado
Los complementos se han diseñado para compartimentar subpaquetes y submódulos para que puedan ser mantenidos por usuarios con experiencia y un interés personal en ese componente.
El mantenimiento del subpaquete solo se otorgará después de que se haya realizado una contribución sustancial para limitar el número de usuarios con permiso de escritura. Las contribuciones pueden venir en forma de cierre de problemas, corrección de errores, documentación, código nuevo u optimización del código existente. El mantenimiento del submódulo se puede otorgar con una barrera de entrada más baja, ya que esto no incluirá permisos de escritura en el repositorio.
Para obtener más información, véase el RFC sobre este tema.
Evaluación periódica de subpaquetes
Dada la naturaleza de este repositorio, los subpaquetes y submódulos pueden volverse cada vez menos útiles para la comunidad a medida que pasa el tiempo. Para mantener el repositorio sostenible, realizaremos revisiones semestrales de nuestro código para asegurarnos de que todo sigue perteneciendo al repositorio. Los factores que contribuyen a esta revisión serán:
- Número de mantenedores activos
- Cantidad de uso de OSS
- Cantidad de problemas o errores atribuidos al código
- Si ahora hay una mejor solución disponible
La funcionalidad dentro de los complementos de TensorFlow se puede clasificar en tres grupos:
- Sugerida: API bien mantenida; se recomienda su uso.
- Desalentado: una mejor alternativa está disponible; la API se mantiene por razones históricas; o la API requiere mantenimiento y es el período de espera que se desaprobará.
- Obsoleta: su uso bajo su propio riesgo; sujeto a ser eliminado.
El cambio de estado entre estos tres grupos es: sugerido <-> desalentado -> desaprobado.
El período entre una API que se marca como obsoleta y se elimina será de 90 días. El fundamento es:
En el caso de que los complementos de TensorFlow se publiquen mensualmente, habrá 2-3 lanzamientos antes de que se elimine una API. Las notas de la versión podrían dar suficiente advertencia al usuario.
90 días les da a los mantenedores tiempo suficiente para corregir su código.
Contribuyendo
TF-Addons es un proyecto de código abierto dirigido por la comunidad. Como tal, el proyecto depende de contribuciones públicas, corrección de errores y documentación. Por favor, vea las pautas de contribución para una guía sobre cómo contribuir. Este proyecto se adhiere al código de conducta de TensorFlow . Al participar, se espera que respete este código.
Comunidad
- Lista de distribución pública
- Notas de la reunión mensual de SIG
- Únase a nuestra lista de correo y reciba invitaciones del calendario a la reunión