Depuis plusieurs années, Google s’est également lancé dans ce domaine en mettant en œuvre une première version de son système d’apprentissage automatique baptisé DistBelief. Après des années de recherche et des améliorations apportées à DistBelief, les ingénieurs parviennent à simplifier son code de base ce qui lui permet d’être plus rapide et plus robuste. DistBelief devient alors TensorFlow, la seconde génération du système d’apprentissage automatique qui est intégré à plusieurs produits de la firme de Mountain View. Elle se présente comme une bibliothèque dédiée au calcul numérique utilisant des graphes de flux de données.
En 2015, Google annonce la mise sous licence open source de Tensor afin de permettre aux experts dans ce domaine d’apporter leurs contributions à ce projet en vue d’accélérer son développement. Apparemment, cette initiative n’a pas été vaine, car Google a annoncé lors de l’évènement TensorFlow Developer Summit 2017 qui s’est achevé il y a quelques heures, que TensorFlow est maintenant disponible en version 1.0. Cela constitue une étape importante, car à partir de là, les développeurs peuvent être assurés de l’utiliser en production sans craindre des risques de bogues majeurs ou encore de suivre l’évolution du code sans observer de trop grands changements.
Pour cette première version stable, Google annonce que « TensorFlow est incroyablement rapide ». Elle est soutenue par un compilateur spécial pour les graphes baptisé XLA (Accelerated Linear Algebra) et capable de cibler les processeurs principaux (CPU) et les processeurs graphiques (GPU) pour de meilleures performances. À noter qu’avec ce compilateur qui est encore au stade expérimental, les performances de TensorFlow s’accroissent sensiblement en l’utilisant avec les processeurs graphiques.
Pour cette nouvelle version de TensorFlow, de nombreuses nouvelles API (Application Programming Interface) ont été ajoutées avec également l’introduction du nouveau module tf.keras qui offre la compatibilité avec Keras, une autre bibliothèque populaire de réseaux de neurones de haut niveau. Par ailleurs, avec l’introduction de skflow, une interface simplifiée pour l’apprentissage automatique et TensorFlow Slim, une bibliothèque légère pour la définition, la formation et l’évaluation de modèles dans TensorFlow, de nombreux nouveaux modules d’API de haut niveau sont également disponibles.
Nous rappelons que les API TensorFlow peuvent être exploitées avec les langages Python et C. Toutefois, en plus des langages Python et C, les API de TensorFlow peuvent être utilisées avec les langages C++, Java et Go. Mais pour ces deux derniers langages, il faut savoir que les implémentations sont toujours en cours de développement et donc sujettes à des changements à venir. En outre, Google avance que les API Python ont été modifiées pour ressembler davantage à NumPy, un package Python conçu pour le calcul scientifique. Pour les développeurs Android, il faut noter que TensorFlow 1.0 intègre de nouveaux outils pour la détection de personnes, la localisation et la stylisation d’image par caméra.
TensorFlow 1.0 intègre de nombreuses autres améliorations et corrections de bogues. À ce sujet, un nouveau débogueur (tfdbg) composé d’une interface de ligne de commande et d’une API pour le débogage des programmes TensorFlow en direct a été ajouté à cette version qui vient de sortir.
Pour ceux qui ont utilisé TensorFlow avant la sortie de cette version stable, Google a mis à la disposition des développeurs un ensemble de scripts Python pour leur permettre de mettre facilement à jour leur ancien code TensorFlow.
Le code ci-dessous permet de convertir un fichier source TensorFlow de version 0.n en 1.0 :
Code Python : | Sélectionner tout |
$ python tf_upgrade.py --infile InputFile --outfile OutputFile
Le code ci-dessous permet de mettre à niveau l’ancien code TensorFlow :
Code Python : | Sélectionner tout |
tf_upgrade.py --infile foo.py --outfile foo-upgraded.py
Le code ci-dessous va imprimer une liste d’erreurs qu’il trouve et qu’il ne peut pas réparer :
Code Python : | Sélectionner tout |
tf_upgrade.py --intree coolcode -outtree coolcode-upgraded
TensorFlow est déjà utilisé par un grand nombre de personnes dans les domaines comme la détection du cancer de la peau, la prévention contre le diabète, la traduction de la parole, la reconnaissance d’images, etc. Avec cette nouvelle version majeure, Google espère que ce nombre augmentera de manière significative.
Source : Google, GitHub, Mettre à niveau son ancien code TensorFlow
Et vous ?
Utilisez-vous TensorFlow ? Que pensez-vous de cette nouvelle version majeure ?
Pensez-vous qu’elle contribuera à attirer davantage de personnes vers cette bibliothèque ?
Voir aussi
Google rend open source TensorFlow, son tout nouveau système de machine learning
TensorFlow Serving : un outil open source de Google pour faciliter la mise en production des modèles de machine learning
La Rubrique Algorithmique, Forum Intelligence artificielle, Cours et tutoriels Algorithmique, FAQ du langage