ArticleApplications & Développement
Google met à jour sa bibliothèque d'apprentissage machine TensorFlow
Google a ajouté plusieurs API dans la mouture 1.4 de sa bibliothèque d'apprentissage automatique open source TensorFlow, notamment l'API Keras et une version officiellement supportée de l'API Dataset. Attention cependant : cette dernière n'est pas parfaitement compatible avec la version dite contribuée précédente.

En dépit de sa relative nouveauté, le framework open source TensorFlow de Google, qui permet de développer rapidement des réseaux de neurones, a connu une forte adoption. Du fait de ses puissantes capacités d’abstractions et sa facilité d'utilisation, le framework sert de plate-forme commune dans les domaines de l'apprentissage machine et de la science des données. Passage en revue des derrières API.
API TensorFlow Keras
La version 1.4 de l'API principale de TensorFlow affiche deux ajouts importants. L'API tf.keras permet d’utiliser l'API Keras, une bibliothèque de réseaux neuronaux antérieure à TensorFlow, mais rapidement remplacée par celle-ci. L'API tf.keras permet aux applications utilisant Keras de basculer sur TensorFlow, soit en utilisant l'interface de Keras de façon permanente, soit pour préparer le logiciel à utiliser TensorFlow nativement.
API TensorFlow Dataset
L’autre ajout important concerne l'API tf.data ou Dataset. Jusqu’ici disponible en version dite contribuée, elle est désormais officiellement supportée. L'API Dataset fournit un ensemble d'abstractions pour la création et la réutilisation de pipelines d'entrée, essentiellement des ensembles de données potentiellement complexes provenant d'une ou plusieurs sources, chaque élément étant transformé en fonction des besoins. Les sets de données peuvent également avoir des fonctions spécifiques associées aux itérations. C’est le cas par exemple si l’on effectue plusieurs sessions d’apprentissage dans un ensemble de données et que l’on a besoin de comportements différents pour chaque session.
Problème de compatibilité de l'API TensorFlow Dataset
Ceux qui utilisaient la version contribuée tf.contrib.data de l'API fournie avec la précédente version de TensorFlow doivent savoir que l'API officielle tf.data n'est pas parfaitement rétrocompatible. Au total, le nombre de changements n'est pas important, mais la plupart concernent des fonctions stratégiques couramment utilisées. Il y a donc de fortes chances que le code existant soit rompu. Par exemple, si vous avez déjà utilisé tf.contrib.data.rejection_resample () ou tf.contrib.data.Iterator.from_dataset (), les deux ont été modifiés : le premier comporte une nouvelle signature de fonction, et le second a été entièrement supprimé et remplacé par la fonction Dataset.make_initializable_iterator (). La documentation de TensorFlow explique plus en détail comment passer de tf.contrib.data à la bibliothèque officielle tf.data.
TensorFlow Estimator simplifié
Plusieurs autres ajouts viennent conforter la réputation de facilité d’utilisation de TensorFlow. Ainsi, une fonction train_and_evaluate offre un moyen simple d'exécuter l'estimateur de TensorFlow (utilisé pour configurer automatiquement les paramètres de modèle communs) en mode distribuée à travers un cluster. De plus, le système de débogage intégré de TensorFlow permet désormais d'exécuter du code Python arbitraire dans la ligne de commande du débogueur, pour effectuer une inspection ou une modification grossière et rapide.
Mise à jour du support CUDA et CuDNN
TensorFlow 1.4 supporte désormais les versions 8 et 6 de CUDA et CuDNN, les bibliothèques de Nvidia pour la manipulation de données accélérée par GPU et le deep learning. Ce ne sont pas les versions les plus récentes, mais les développeurs de TensorFlow précisent que la future version 1.5 de TensorFlow supportera les versions CUDA 9 et CuDNN 7.
Où télécharger TensorFlow 1.4
Les instructions d'installation pour TensorFlow sur Ubuntu Linux, MacOS et Microsoft Windows sont disponibles sur la page du projet TensorFlow. Les utilisateurs de Docker pourront trouver une image TensorFlow Docker préconfigurée sur le Docker Hub. Il est également possible de compiler les sources - disponibles sur GitHub - dans un binaire.


