En alpha en mars, en bêta en juin, la version 2.0 de TensorFlow est maintenant livrée dans son édition définitive. C’est, avec Scikit-Learn, l’un des frameworks d’apprentissage machine les plus utilisés ces 5 dernières années, avec Keras pour le deep learning, ainsi que l’ont montré Kaggle et Medium (suivent ensuite randomForest, Xgboost et pyTorch). Avec la version 2.0 de TensorFlow, l’équipe du projet dit avoir suivi la communauté qui demandait une flexibilité d’utilisation avec une capacité de déploiement sur n’importe quelle plateforme. Le framework rassemble des outils pour créer et entraîner des modèles de machine learning et développer des applications pouvant être exécutées à l’échelle. Les développeurs Python devrait y retrouver une expérience d’utilisation familière. La bibliothèque Keras est étroitement intégrée à TensorFlow 2.0 avec l’eager execution par défaut pour entraîner des modèles Keras sans construire de graphe et une exécution des fonctions calée sur les conventions de l’univers Python. Le framework vise aussi les développeurs JavaScript avec TensorFlow.js et le projet continue par ailleurs à travailler sur sa bibliothèque Swift for TensorFlow.
Un effort important a été réalisé sur les API de bas niveau du framework ML open source développé par Google. L’équipe de développement explique ainsi -dans un billet sur Medium - qu’elle exporte maintenant toutes les opérations utilisées en interne et fournit des interfaces héritables pour les variables et les checkpoints, ce qui permet de s’appuyer sur ces éléments sans avoir à « reconstruire TensorFlow ». Un format de fichier, SavedModel, a été standardisé pour pouvoir exécuter les modèles sur une diversité de runtimes et les déployer dans le cloud, sur le web, à travers les navigateurs ou avec Node.js, sur mobiles ou dans les systèmes embarqués. L’API Distribution Strategy permettra de distribuer les scénarios d’entraînement haute performance avec un minimum de changement sur le code.
Support de l'accélération multi-GPU
Le support de l’accélération multi-GPU sur les capacités d’entraînement est disponible, celui du Cloud TPU (Tensor processing unit) arrivera plus tard. L’équipe du projet souligne l’intégration étroite de TensorFlow 2.0 avec le serveur d’inférence TensorRT de Nvidia ainsi que l’ajout de nombreuses fonctions d’accélération GPU et elle pointe l’amélioration notable des performances obtenues (avec une API revisitée) sur le cloud de Google avec les GPU T4.
Concernant les données utilisées pour les modèles ML, l’arrivée de Datasets apporte une interface standard pour en étendre l’accès à une diversité de types de données (textes, images, vidéo…). Les nouveautés de la version 2.0 du framework seront amplement détaillée lors du prochain TensorFlow World qui se tiendra à la fin du mois à Santa Clara, du 28 au 31 octobre. D'ores et déjà, un guide est proposé pour les utilisateurs de TensorFlow 1.x souhaitant migrer leur code vers la version 2.0.