Presentamos TensorFlow Addons

Publicado por Sean Morgan (Two Six Labs), Yan Facai (Alibaba), Moritz Kröger (RWTH Aachen University), Tzu-Wei Sung (National Taiwan University) y Dheeraj Rajaram Reddy (Manipal University)

¿Qué es SIG Addons?

Con la introducción de TensorFlow 2.0, hemos creado un nuevo grupo de interés especial (SIG) conocido como TensorFlow Addons. Este grupo administra un repositorio de contribuciones que se ajustan a patrones de API bien establecidos, pero implementan nuevas funcionalidades que no están disponibles en TensorFlow. Por ejemplo, pueden ser nuevos algoritmos de documentos publicados o funciones que faltan para el preprocesamiento y el filtrado de datos. Echa un vistazo en GitHub: https://github.com/tensorflow/addons
Como SIG administrado por la comunidad, Addons permite a los usuarios introducir nuevas extensiones al ecosistema TensorFlow de forma sostenible. El repositorio sigue un enfoque modular con subpaquetes y submódulos mantenidos por miembros designados de la comunidad. Hasta el momento, estos subpaquetes incluyen:

  • tfa.activations
  • tfa.callbacks
  • tfa.image
  • tfa.layers
  • tfa.losses
  • tfa.metrics
  • tfa.optimizers
  • tfa.rnn
  • tfa.seq2seq
  • tfa.text

Otro objetivo de la comunidad de TensorFlow Addons es proporcionar documentación y ejemplos de todas las funcionalidades mediante blocs de notas de Google Colab. Esto no solo ayudará a nuevos desarrolladores y entusiastas del aprendizaje automático a comprender las funciones, sino que también les proporcionará enfoques de prácticas recomendadas y ejemplos de implementación.
TensorFlow Addons utiliza cuatro plataformas con fines de organización y comunicación:

Migración desde tf.contrib

El objetivo del proyecto puede sonar bastante familiar, ya que Addons es, de hecho, el lugar donde va a parar la mayoría del código de tf.contrib que se quitó del repositorio central de TensorFlow. En los últimos años, una gran cantidad de código de tf.contrib se ha vuelto obsoleto, desactualizado, complicado y difícil de usar debido a la documentación. Se crearon muchas API personalizadas en este tf.contrib, lo que dificultó aún más la integración de esta funcionalidad en tu código. Al mover los algoritmos más relevantes a TensorFlow Addons y limpiarlos, gran parte del código que usaste en tf.contrib también estará disponible como complementos. Además, muchas de las nuevas funcionalidades ya forman parte de TensorFlow Addons, y hay mucho más pensado para el futuro.

Cómo realizar la instalación

TensorFlow Addons proporciona un paquete de pip para macOS y Linux, con planes de admitir Windows y Anaconda en el futuro. Pruébalo hoy en la versión más reciente de tensorflow-2.0:
pip install tensorflow-addons
Para usar TensorFlow Addons en tu código Python, puedes importar el paquete con:
import tensorflow as tf
import tensorflow_addons as tfa

Sustentabilidad del repositorio

Para garantizar que TensorFlow Addonds no se convierta en una tumba de código obsoleto, se introdujeron mantenedores de subpaquetes y submódulos para administrar partes del repositorio. Estos mantenedores tienen las siguientes responsabilidades:

  • Revisan y quitan periódicamente el código antiguo y no utilizado.
  • Administran candidatos para TensorFlow Core.
  • Garantizan la conformidad de la API y la calidad de las pruebas y el código.
  • Administran problemas.
  • Revisan cambios.

Hay más información disponible sobre los detalles específicos del sistema de mantenimiento de proxy en el recientemente aceptado RFC de sustentabilidad de Addons:
https://github.com/tensorflow/community/blob/master/rfcs/20190308-addons-proxy-maintainership.md
Esperamos que la introducción de mantenedores y revisiones periódicas preserven la calidad de este repositorio y conviertan a TensorFlow Addons en una herramienta popular y útil del ecosistema TensorFlow en los próximos años.

Cómo colaborar

Colaborar con TensorFlow Addons es una gran manera de familiarizarse con los recientes avances del campo del AA y las prácticas recomendadas de TF2.
Los nuevos colaboradores pueden comenzar leyendo el documento CONTRIBUTING.md que se encuentra en el repositorio de GitHub de TensorFlow Addons. Allí se explica el proceso de revisión, el estilo de codificación y cómo configurar tu entorno de desarrollo. Después de familiarizarte con la estructura general de este repositorio, puedes explorar la sección de temas y elegir uno en el que te gustaría trabajar. Las etiquetas help wanted y good first issue pueden ser buenas opciones para empezar. También fomentamos las contribuciones de ejemplos y prácticas recomendadas que se pueden realizar utilizando Google Colab.
Deja un comentario en el problema correspondiente o abre uno nuevo antes de empezar a trabajar para evitar varias contribuciones o trabajos que no se ajusten a la hoja de ruta. Después de eso, solo tienes que bifurcar el repositorio de Addons, implementar tu código y abrir una solicitud de integración una vez que hayas terminado. Uno de los mantenedores revisará tus cambios y los fusionará en la rama principal cuando ya estén completos.

Ejemplo de TFA

Descubre cómo integrar de forma fluida los complementos con las funciones básicas de TensorFlow:
https://github.com/tensorflow/addons/blob/master/examples/losses_triplet.ipynb
Source: Google Dev

Deja un comentario