Desde Linux David Naranjo  

Llega TensorFlow 2.0, una biblioteca open source para el aprendizaje automático

tf_logo

Hace algunos días fue presentada una nueva versión importante de la plataforma de aprendizaje automático TensorFlow 2.0, que proporciona implementaciones listas para usar de varios algoritmos de aprendizaje automático profundo, una interfaz de programación simple para construir modelos en Python y una interfaz de bajo nivel para C ++ que le permite controlar la construcción y ejecución de gráficos computacionales.

La plataforma fue desarrollada originalmente por el equipo de Google Brain y es utilizada por los servicios de Google para el reconocimiento de voz, reconocimiento facial en fotografías, determinar la similitud de imágenes, filtrar spam en Gmail, seleccionar noticias en Google News y organizar la traducción teniendo en cuenta el significado.

TensorFlow proporciona una biblioteca de algoritmos informáticos numéricos listos para usar implementados a través de gráficos de flujo de datos. Los nodos en tales gráficos implementan operaciones matemáticas o puntos de entrada / salida, mientras que los bordes del gráfico representan conjuntos de datos multidimensionales (tensores) que fluyen entre los nodos.

Los nodos pueden asignarse a dispositivos informáticos y ejecutarse de forma asíncrona, procesando simultáneamente todos los tensores adecuados simultáneamente, lo que le permite organizar el funcionamiento simultáneo de los nodos en una red neuronal por analogía con la activación simultánea de neuronas en el cerebro.

Los sistemas de aprendizaje automático distribuidos se pueden crear en equipos estándar, gracias al soporte incorporado en TensorFlow para extender la informática a múltiples CPU o GPU. TensorFlow puede correr en múltiple CPUs y GPUs (con extensiones opcionales de CUDA para informática de propósito general en unidades de procesamiento gráfico)

TensorFlow está disponible en Linux de 64 bits, macOS, y plataformas móviles que incluyen Android e iOS. El código del sistema está escrito en C ++ y Python y se distribuye bajo la licencia Apache.

Principales novedades de TensorFlow 2.0

Con la liberación de esta nueva versión la atención principal se prestó a la simplificación y facilidad de uso, tal es el caso que para construir y entrenar modelos, se ha propuesto una nueva API de Keras de alto nivel que proporciona varias opciones para interfaces para construir modelos (secuenciales, funcionales, subclases) con la posibilidad de su ejecución inmediata (sin compilación preliminar) y con un mecanismo de depuración simple.

Se agregó tf.distribute.Strategy API para organizar el entrenamiento de modelos distribuidos con una modificación mínima al código existente. Además de la posibilidad de distribuir los cálculos a varias GPU , hay soporte experimental disponible para dividir el proceso de aprendizaje en varios procesadores independientes y la capacidad de usar TPU en la nube (unidad de procesamiento de tensor).

En lugar de un modelo de construcción de gráfico declarativo con ejecución a través de tf.Session, es posible escribir funciones comunes de Python que se pueden convertir en gráficos llamando a tf.function y luego ejecutado, serializado u optimizado de forma remota para mejorar el rendimiento.

Se ha agregado un traductor de AutoGraph que convierte el flujo de comandos de Python en expresiones TensorFlow, lo que le permite usar el código de Python dentro de las funciones tf.function, tf.data, tf.distribute y tf.keras.

SavedModel unificó el formato de intercambio de modelos y agregó soporte para guardar y restaurar el estado de los modelos. Los modelos ensamblados para TensorFlow ahora se pueden usar en TensorFlow Lite (en dispositivos móviles), TensorFlow JS (en un navegador o Node.js), TensorFlow Serving y TensorFlow Hub.

Las API tf.train.Optimizers y tf.keras.Optimizers se han unificado, en lugar de compute_gradients, se ha propuesto una nueva clase GradientTape para calcular gradientes.

Tambien el rendimiento en esta nueva versión ha sido significativamente mayor al usar la GPU. La velocidad del entrenamiento de modelos en sistemas con GPU NVIDIA Volta y Turing ha aumentado hasta tres veces.

Una gran cantidad de API de limpieza, muchas llamadas cambian de nombre o se eliminan, el soporte para variables globales en los métodos auxiliares se interrumpe. En lugar de tf.app, tf.flags, tf.logging, se propone una nueva API absl-py. Para continuar usando la API anterior, se ha preparado el módulo compat.v1.

Si quieres conocer más al respecto puedes consultar el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.