Publication du système d'apprentissage automatique TensorFlow 2.0

Présenté lancement significatif de la plateforme d'apprentissage automatique TensorFlow 2.0, offrant des implémentations prêtes à l'emploi de divers algorithmes d'apprentissage profond, une interface de programmation simple pour la construction de modèles en Python, et une interface basse niveau pour C++, permettant de gérer la construction et l'exécution de graphiques de calcul. Le code du système est écrit en C++ et Python et est distribué sous licence Apache.

La plateforme a été initialement développée par l'équipe Google Brain et est utilisée dans les services de Google pour la reconnaissance vocale, la détection de visages sur des photos, la détermination de similarités d'images, le filtrage de spam dans Gmail, la sélection des actualités dans Google News et l'organisation de la traduction en tenant compte du sens. Des systèmes distribués d'apprentissage automatique peuvent être créés sur du matériel standard, grâce à la prise en charge intégrée dans TensorFlow de la répartition des calculs sur plusieurs CPU ou GPU.

TensorFlow fournit une bibliothèque d'algorithmes de calcul numérique, implémentés à travers des graphes de flux de données (data flow graphs). Les nœuds dans ces graphes réalisent des opérations mathématiques ou des points d'entrée/sortie, tandis que les arêtes du graphe représentent des tableaux de données multidimensionnels (tenseurs) qui circulent entre les nœuds.
Les nœuds peuvent être associés à des dispositifs de calcul et exécutés de manière asynchrone, traitant simultanément tous les tenseurs qui s'y adaptent, ce qui permet d'organiser le fonctionnement simultané des nœuds dans un réseau neuronal, à l'image de l'activation simultanée des neurones dans le cerveau.

L'accent a été mis sur la simplification et la facilité d'utilisation lors de la préparation de la nouvelle version. Certains nouveautés:

  • Un nouvel API de haut niveau a été proposé pour la construction et l'entraînement de modèles Keras, offrant plusieurs options d'interfaces pour construire des modèles (Séquentiel, Fonctionnel, Sous-classe) avec la possibilité de leur exécution immédiate (sans compilation préalable) et avec un mécanisme de débogage simple;
  • Une API a été ajoutée : tf.distribute.Strategy pour organiser l'apprentissage distribué des modèles avec un minimum de modifications du code existant. En plus de la possibilité de répartir les calculs sur plusieurs GPU, un support expérimental est disponible pour la répartition du processus d'apprentissage sur plusieurs gestionnaires indépendants et la possibilité d'utiliser des TPU (unité de traitement tensoriel);
  • Au lieu d'un modèle déclaratif de construction de graphes exécuté via tf.Session, il est désormais possible d'écrire des fonctions ordinaires en langage Python qui, grâce à l'appel de tf.function, peuvent être transformées en graphes, puis exécutées à distance, sérialisées ou optimisées pour améliorer les performances.
  • Un traducteur AutoGraph, qui transforme un flux de commandes Python en expressions TensorFlow, permettant d'utiliser du code Python à l'intérieur des fonctions décorées avec tf.function, tf.data, tf.distribute et tf.keras.
  • Dans SavedModel, le format d'échange de modèles est unifié et le soutien à la sauvegarde et à la restauration de l'état des modèles a été ajouté. Les modèles construits pour TensorFlow peuvent désormais être utilisés dans TensorFlow Lite (sur des appareils mobiles), TensorFlow JS (dans le navigateur ou Node.js), TensorFlow Serving et TensorFlow Hub;
  • Les API tf.train.Optimizers et tf.keras.Optimizers ont été unifiées, et le nouveau classe proposé pour le calcul des gradients remplace compute_gradients. GradientTape;
  • Les performances lors de l'utilisation de GPU ont été considérablement augmentées.
    La vitesse d'apprentissage des modèles sur les systèmes équipés de GPU NVIDIA Volta et Turing a triplé.
  • Une optimisation Un nettoyage majeur de l'API a été effectué, de nombreux appels ont été renommés ou supprimés, et le soutien aux variables globales dans les méthodes auxiliaires a été arrêté. Un nouvel API absl-py a été proposé à la place de tf.app, tf.flags, tf.logging. Pour continuer à utiliser l'ancien API, un module compat.v1 a été préparé.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster