Sortie du système d'apprentissage automatique TensorFlow 2.0

Introduit version importante de la plateforme d'apprentissage automatique TensorFlow 2.0, qui fournit des implémentations prêtes à l'emploi de divers algorithmes d'apprentissage automatique profond, une interface de programmation simple pour créer des modèles en Python et une interface de bas niveau pour le langage C++ qui vous permet de contrôler la construction et l'exécution de graphiques informatiques. Le code système est écrit en C++ et Python et distribué par sous licence Apache.

La plateforme a été développée à l'origine par l'équipe Google Brain et est utilisée dans les services Google pour la reconnaissance vocale, l'identification des visages sur les photographies, la détermination de la similitude des images, le filtrage du spam dans Gmail, sélection actualités dans Google Actualités et organiser la traduction en tenant compte du sens. Les systèmes d'apprentissage automatique distribués peuvent être créés sur du matériel standard, grâce à la prise en charge intégrée de TensorFlow pour la distribution des calculs sur plusieurs processeurs ou GPU.

TensorFlow fournit une bibliothèque d'algorithmes de calcul numérique prêts à l'emploi implémentés via des graphiques de flux de données. Les nœuds de ces graphiques implémentent des opérations mathématiques ou des points d'entrée/sortie, tandis que les bords du graphique représentent des tableaux de données multidimensionnels (tenseurs) qui circulent entre les nœuds.
Les nœuds peuvent être attribués à des appareils informatiques et exécutés de manière asynchrone, en traitant simultanément tous les théseurs qui leur conviennent, ce qui permet d'organiser le fonctionnement simultané des nœuds dans un réseau neuronal par analogie avec l'activation simultanée des neurones du cerveau.

L'objectif principal lors de la préparation de la nouvelle version a été la simplification et la facilité d'utilisation. quelques-uns les innovations:

  • Une nouvelle API de haut niveau a été proposée pour la création et la formation de modèles Keras, qui fournit plusieurs options d'interface pour la construction de modèles (séquentiel, fonctionnel, sous-classement) avec la possibilité de mise en œuvre immédiate (sans pré-compilation) et avec un mécanisme de débogage simple ;
  • API ajoutée tf.distribute.Stratégie pour l'organisation apprentissage distribué modèles avec des modifications minimes du code existant. Outre la possibilité de répartir les calculs sur plusieurs GPU, un support expérimental est disponible pour diviser le processus d'apprentissage en plusieurs processeurs indépendants et la possibilité d'utiliser le cloud TPU (Unité de traitement tensoriel) ;
  • Au lieu d'un modèle déclaratif de construction d'un graphe avec exécution via tf.Session, il est possible d'écrire des fonctions ordinaires en Python, qui, à l'aide d'un appel à tf.function, peuvent être converties en graphiques puis exécutées, sérialisées ou optimisées à distance. pour des performances améliorées ;
  • Traducteur ajouté Un autographe, qui convertit un flux de commandes Python en expressions TensorFlow, permettant d'utiliser le code Python dans les fonctions tf.function-decorated, tf.data, tf.distribute et tf.keras ;
  • SavedModel unifie le format d'échange de modèle et ajoute la prise en charge de l'enregistrement et de la restauration des états du modèle. Les modèles compilés pour TensorFlow peuvent désormais être utilisés dans TensorFlow Lite (sur les appareils mobiles), TensorFlow JS (dans le navigateur ou Node.js), Servir TensorFlow и Hub TensorFlow;
  • Les API tf.train.Optimizers et tf.keras.Optimizers ont été unifiées ; à la place de computing_gradients, une nouvelle classe a été proposée pour calculer les gradients. Ruban dégradé;
  • Performances considérablement accrues lors de l’utilisation du GPU.
    La vitesse de formation des modèles sur les systèmes dotés de GPU NVIDIA Volta et Turing a été multipliée par trois ;

  • Réalisé Nettoyage majeur de l'API, de nombreux appels renommés ou supprimés, arrêt de la prise en charge des variables globales dans les méthodes d'assistance. Au lieu de tf.app, tf.flags, tf.logging, une nouvelle API absl-py est proposée. Pour continuer à utiliser l'ancienne API, le module compat.v1 a été préparé.

Source: opennet.ru

Ajouter un commentaire