Lanzamiento del sistema de aprendizaje automático TensorFlow 2.0

Presentado por lanzamiento significativo de 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 el lenguaje C++ que le permite controlar la construcción y ejecución de gráficos computacionales. El código del sistema está escrito en C++ y Python y distribuido por bajo la licencia Apache.

La plataforma fue desarrollada originalmente por el equipo de Google Brain y se utiliza en los servicios de Google para el reconocimiento de voz, la identificación de rostros en fotografías, la determinación de la similitud de imágenes y el filtrado de spam en Gmail. selección noticias en Google News y organizar la traducción teniendo en cuenta el significado. Los sistemas distribuidos de aprendizaje automático se pueden crear en hardware estándar, gracias al soporte integrado de TensorFlow para distribuir cálculos en múltiples CPU o GPU.

TensorFlow proporciona una biblioteca de algoritmos de cálculo numérico listos para usar implementados a través de gráficos de flujo de datos. Los nodos en dichos gráficos implementan operaciones matemáticas o puntos de entrada/salida, mientras que los bordes del gráfico representan matrices de datos multidimensionales (tensores) que fluyen entre los nodos.
Los nodos se pueden asignar a dispositivos informáticos y ejecutarse de forma asíncrona, procesando simultáneamente todos los tesores adecuados para ellos a la vez, lo que 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.

El enfoque principal en la preparación de la nueva versión fue la simplificación y facilidad de uso. Algunos innovaciones:

  • Se ha propuesto una nueva API de alto nivel para construir y entrenar modelos. Keras, que proporciona varias opciones de interfaz para construir modelos (secuencial, funcional, subclasificación) con la capacidad de implementación inmediata (sin precompilación) y con un mecanismo de depuración sencillo;
  • API añadida tf.distribuir.Estrategia para organización aprendizaje distribuido modelos con cambios mínimos en el código existente. Además de la posibilidad de distribuir los cálculos entre múltiples GPU, hay soporte experimental disponible para dividir el proceso de aprendizaje en varios procesadores independientes y la capacidad de usar la nube TPU (Unidad de procesamiento tensorial);
  • En lugar de un modelo declarativo para construir un gráfico con ejecución a través de tf.Session, es posible escribir funciones ordinarias en Python que, mediante una llamada a tf.function, se pueden convertir en gráficos y luego ejecutarse, serializarse u optimizarse de forma remota. para mejorar el rendimiento;
  • Traductor agregado Autógrafo, que convierte un flujo de comandos de Python en expresiones de TensorFlow, lo que permite usar código Python dentro de las funciones tf.function-decorated, tf.data, tf.distribute y tf.keras;
  • SavedModel unifica el formato de intercambio de modelos y agrega soporte para guardar y restaurar estados de modelos. Los modelos compilados para TensorFlow ahora se pueden usar en TensorFlow Lite (en dispositivos móviles), TensorFlowJS (en el navegador o Node.js), Publicación de TensorFlow и Centro TensorFlow;
  • Se han unificado las API tf.train.Optimizers y tf.keras.Optimizers; en lugar de Compute_gradients, se ha propuesto una nueva clase para calcular gradientes. Cinta Degradada;
  • Rendimiento significativamente mayor al usar GPU.
    La velocidad de entrenamiento de modelos en sistemas con GPU NVIDIA Volta y Turing se ha incrementado hasta tres veces;

  • Realizado Limpieza importante de API, muchas llamadas renombradas o eliminadas, se detuvo la compatibilidad con variables globales en métodos auxiliares. En lugar de tf.app, tf.flags, tf.logging, se propone una nueva API absl-py. Para seguir utilizando la antigua API, se ha preparado el módulo compat.v1.

Fuente: opennet.ru

Añadir un comentario