TensorFlow

librairie d'apprentissage automatique
TensorFlow
Description de l'image TensorFlow logo.svg.
Description de l'image Tensorflow logo.svg.
Informations
Développé par Google BrainVoir et modifier les données sur Wikidata
Première version Voir et modifier les données sur Wikidata
Dernière version 2.15.0 ()[1]Voir et modifier les données sur Wikidata
Version avancée 2.14.0-rc1 ()[2]Voir et modifier les données sur Wikidata
Dépôt github.com/tensorflow/tensorflowVoir et modifier les données sur Wikidata
Écrit en C++ et PythonVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows, Linux, macOS, iOS et AndroidVoir et modifier les données sur Wikidata
Environnement Linux, macOS, Android, iOS et Microsoft WindowsVoir et modifier les données sur Wikidata
Langues anglais
Type Bibliothèque logicielleVoir et modifier les données sur Wikidata
Licence Licence Apache version 2.0Voir et modifier les données sur Wikidata
Documentation www.tensorflow.org/learnVoir et modifier les données sur Wikidata
Site web tensorflow.orgVoir et modifier les données sur Wikidata

TensorFlow est un outil open source d'apprentissage automatique développé par Google. Le code source a été ouvert le par Google et publié sous licence Apache.

Il est fondé sur l'infrastructure DistBelief, initiée par Google en 2011, et est doté d'une interface pour Python, Julia, R[3] et C++[4].

TensorFlow est l'un des outils les plus utilisés en IA dans le domaine de l'apprentissage machine[5].

Histoire modifier

DistBelief modifier

À partir de 2011, Google Brain a développé un outil propriétaire d'apprentissage automatique fondé sur l'apprentissage profond. Son utilisation a augmenté rapidement à travers les différentes filiales d'Alphabet autant dans le milieu commercial que dans la recherche[6],[7]. Google a assigné de nombreux ingénieurs informaticiens, dont Jeffrey Dean, pour simplifier et réordonner le code de DistBelief en une bibliothèque logicielle plus rapide et plus solide qui est devenue Tensorflow[8]. En 2009, l'équipe, dirigée par Geoffrey Hinton, avait implémenté la rétropropagation du gradient généralisée et d'autres améliorations qui ont permis la création de réseaux neuronaux ayant une précision considérablement meilleure. Par exemple, une réduction de 25 % d'erreur dans la reconnaissance automatique de la parole a été obtenue[9].

Tensorflow modifier

Tensorflow est la deuxième génération du système de Google Brain. La version 1.0.0 est sortie le [10] Alors que l'implémentation de référence tourne sur un seul appareil, Tensorflow peut être lancé sur plusieurs CPU et GPU (avec des extensions optionnelles telles que CUDA ou SYCL (en) pour GPGPU)[11]. Tensorflow est disponible en version 64-bits pour Linux, macOS, Windows et pour les plateformes mobiles sur Android et iOS.

Son architecture flexible permet le développement sur plusieurs variétés de plateformes (CPU, GPU, TPU), allant du PC de bureaux à des clusters de serveurs et des mobiles aux dispositifs de bords.

En , Jeff Dean a mentionné que 1 500 dépôts github mentionnaient Tensorflow, dont seulement cinq étaient de Google[12].

Tensorflow lite modifier

En , Google a annoncé qu'une couche logicielle spécifique serait créée pour le développement sur Android, Tensorflow Lite, à partir d'Android Oreo[13]. Il existe une version orientée vers les microcontrôleurs (anglais : Tensorflow lite for microcontrollers) et a notamment été porté sur la plateforme ARM Cortex-M et ESP32[14].

Utilisations modifier

Rankbrain modifier

Le , Google a officiellement sorti RankBrain (en), adossé à TensorFlow.

Le Pentagone modifier

Le , le site américain Gizmodo a révélé l’existence d’un partenariat entre l’entreprise Google et le Pentagone, destiné à aider ce dernier à analyser des images de drones par l'usage de TensorFlow, sans pouvoir donner plus d'indications sur l'implication de l'entreprise. Google a déclaré : « La technologie labellise des images qui seront analysées par des humains et ne sert qu’à un usage non offensif »[15],[16].

DeepDream modifier

DeepDream se fonde en totalité sur l'architecture de TensorFlow pour la base algorithmique du logiciel.

Fonctionnalités modifier

TensorFlow fournit des API stables en Python[17] et C[18]. Des API sans rétro-compatibilité garantie en C++, Go, Java[19], JavaScript[20] et Swift[21]. Des packages faits par des tiers sont disponibles en C#[22],[23], Haskell[24], Julia[25], R[26], Scala[27], Rust[28], Ocaml[29] et Crystal.[30]

Notes et références modifier

  1. « Release 2.15.0 », (consulté le )
  2. « TensorFlow 2.14.0-rc1 Pre-release », (consulté le )
  3. (en-US) « TensorFlow for R », sur blog.rstudio.com (consulté le )
  4. (en) « TensorFlow C++ API Reference | TensorFlow v2.14.0 », sur TensorFlow (consulté le )
  5. « Deloitte Tech Trends : Les 8 tendances IT 2017 », sur Le Monde Informatique, (consulté le ).
  6. Jeff Dean, Rajat Monga et Sanjay Ghemawat, « TensorFlow: Large-scale machine learning on heterogeneous systems », sur TensorFlow.org, Google Research, (consulté le ).
  7. Sarah Perez, « Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More », sur TechCrunch, (consulté le ).
  8. Will Oremus, « What Is TensorFlow, and Why Is Google So Excited About It? », sur Slate, (consulté le ).
  9. « Google chairman: We’re making 'real progress' on artificial intelligence », Christian Science Monitor,‎ (ISSN 0882-7729, lire en ligne, consulté le ).
  10. (en) « tensorflow », sur GitHub (consulté le ).
  11. (en) Cade Metz, « TensorFlow, Google's Open Source AI, Points to a Fast-Changing Hardware World », Wired,‎ (lire en ligne, consulté le ).
  12. Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05
  13. (en) « Google’s new machine learning framework is going to put more AI on your phone », The Verge,‎ (lire en ligne, consulté le ).
  14. (en) « TensorFlow Lite for Microcontrollers », sur Tensorflow.org
  15. (en) « Google Is Helping the Pentagon Build AI for Drones », sur gizmodo.com (consulté le ).
  16. « Un programme de Google aide le Pentagone à analyser les images filmées par les drones », sur Le Monde, .
  17. (en) « All symbols in TensorFlow », sur TensorFlow (consulté le ).
  18. (en) « TensorFlow Version Compatibility », sur TensorFlow (consulté le ) : « Some API functions are explicitly marked as "experimental" and can change in backward incompatible ways between minor releases. These include other languages ».
  19. « API Documentation » (consulté le ).
  20. « TensorFlow.js » (consulté le ) : « TensorFlow.js has an API similar to the TensorFlow Python API, however it does not support all of the functionality of the TensorFlow Python API. »
  21. (en) « Swift for TensorFlow » (consulté le ) : « Swift for TensorFlow is an early stage research project. It has been released to enable open source development and is not yet ready for general use by machine learning developers. The API is subject to change at any time. »
  22. Miguel de Icaza, TensorFlowSharp: TensorFlow API for .NET languages, (lire en ligne).
  23. Haiping Chen, TensorFlow.NET: .NET Standard bindings for TensorFlow, (lire en ligne).
  24. haskell: Haskell bindings for TensorFlow, tensorflow, (lire en ligne).
  25. (en) « malmaud/TensorFlow.jl », sur GitHub (consulté le ).
  26. tensorflow: TensorFlow for R, RStudio, (lire en ligne).
  27. Anthony Platanios, tensorflow_scala: TensorFlow API for the Scala Programming Language, (lire en ligne).
  28. rust: Rust language bindings for TensorFlow, tensorflow, (lire en ligne).
  29. Laurent Mazare, tensorflow-ocaml: OCaml bindings for TensorFlow, (lire en ligne).
  30. (en) « fazibear/tensorflow.cr », sur GitHub (consulté le ).

Liens externes modifier

Articles connexes modifier