TensorFlow
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.
Développé par | Google Brain |
---|---|
Première version | |
Dernière version | 2.15.0 ()[1] |
Version avancée | 2.14.0-rc1 ()[2] |
Dépôt | github.com/tensorflow/tensorflow |
Écrit en | C++ et Python |
Système d'exploitation | Microsoft Windows, Linux, macOS, iOS et Android |
Environnement | Linux, macOS, Android, iOS et Microsoft Windows |
Langues | anglais |
Type | Bibliothèque logicielle |
Licence | Licence Apache 2.0 |
Documentation | www.tensorflow.org/learn et www.tensorflow.org/api_docs |
Site web | tensorflow.org |
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
modifierDistBelief
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
modifierTensorflow 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
modifierEn , 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
modifierRankbrain
modifierLe , Google a officiellement sorti RankBrain, adossé à TensorFlow.
Le Pentagone
modifierLe , 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
modifierDeepDream se fonde en totalité sur l'architecture de TensorFlow pour la base algorithmique du logiciel.
Fonctionnalités
modifierTensorFlow 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- « Release 2.15.0 », (consulté le )
- « TensorFlow 2.14.0-rc1 Pre-release », (consulté le )
- (en-US) « TensorFlow for R », sur blog.rstudio.com (consulté le )
- (en) « TensorFlow C++ API Reference | TensorFlow v2.14.0 », sur TensorFlow (consulté le )
- « Deloitte Tech Trends : Les 8 tendances IT 2017 », sur Le Monde Informatique, (consulté le ).
- Jeff Dean, Rajat Monga et Sanjay Ghemawat, « TensorFlow: Large-scale machine learning on heterogeneous systems », sur TensorFlow.org, Google Research, (consulté le ).
- Sarah Perez, « Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More », sur TechCrunch, (consulté le ).
- Will Oremus, « What Is TensorFlow, and Why Is Google So Excited About It? », sur Slate, (consulté le ).
- « Google chairman: We’re making 'real progress' on artificial intelligence », Christian Science Monitor, (ISSN 0882-7729, lire en ligne, consulté le ).
- (en) « tensorflow », sur GitHub (consulté le ).
- (en) Cade Metz, « TensorFlow, Google's Open Source AI, Points to a Fast-Changing Hardware World », Wired, (lire en ligne, consulté le ).
- Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05
- (en) « Google’s new machine learning framework is going to put more AI on your phone », The Verge, (lire en ligne, consulté le ).
- (en) « TensorFlow Lite for Microcontrollers », sur Tensorflow.org
- (en) « Google Is Helping the Pentagon Build AI for Drones », sur gizmodo.com (consulté le ).
- « Un programme de Google aide le Pentagone à analyser les images filmées par les drones », sur Le Monde, .
- (en) « All symbols in TensorFlow », sur TensorFlow (consulté le ).
- (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 ».
- « API Documentation » (consulté le ).
- « 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. »
- (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. »
- Miguel de Icaza, TensorFlowSharp: TensorFlow API for .NET languages, (lire en ligne).
- Haiping Chen, TensorFlow.NET: .NET Standard bindings for TensorFlow, (lire en ligne).
- haskell: Haskell bindings for TensorFlow, tensorflow, (lire en ligne).
- (en) « malmaud/TensorFlow.jl », sur GitHub (consulté le ).
- tensorflow: TensorFlow for R, RStudio, (lire en ligne).
- Anthony Platanios, tensorflow_scala: TensorFlow API for the Scala Programming Language, (lire en ligne).
- rust: Rust language bindings for TensorFlow, tensorflow, (lire en ligne).
- Laurent Mazare, tensorflow-ocaml: OCaml bindings for TensorFlow, (lire en ligne).
- (en) « fazibear/tensorflow.cr », sur GitHub (consulté le ).
Articles connexes
modifierLiens externes
modifier