TensorFlow : la plateforme de deep learning de Google
TensorFlow est une plateforme open source de deep learning créée par Google. Equipée d'une API Python, elle propose une multitude d'outils pour entrainer et optimiser des réseaux de neurones artificiels.
TensorFlow, c'est quoi ?
Outil star chez les data scientists, TensorFlow est une bibliothèque open source de deep learning, ou apprentissage profond. Développée par Google, elle a été publiée fin 2015 sous licence Apache 2.0. Issue de l'infrastructure DistBelief créée par Mountain View pour entrainer des modèles d'apprentissage sur des clusters de centaines de serveurs, elle est reconnue pour ses performances.
TensorFlow prend en charge les langages Python, Julia et R. Baptisé TFRT, son moteur d'entrainement s'articule autour d'un framework unifié supportant aussi bien les serveurs de calcul de type CPU et GPU que les architectures TPU pour TensorFlow Processing Unit. Des processeurs spécifiquement conçus par Google pour entraîner des réseaux de neurones basés sur TensorFlow.
Pourquoi choisir TensorFlow ?
Plus populaire que Pytorch, TensorFlow supplante pour l'heure son concurrent en termes de compétences disponibles et d'outillages associés. Parmi ses briques les plus prisées figurent son fameux Tensorboard. Une console de visualisation graphique permettant de monitorer l'entrainement des modèles dans l'optique d'en optimiser les paramètres d'ajustement. Parmi ses principales fonctionnalités, on relève :
- La visualisation des indicateurs d'entrainement (perte, justesse...)
- La visualisation du graphe du réseau de neurones,
- La visualisation des historiques de pondérations et Tensors,
- Le suivi des biais,
- La visualisation des représentations vectorielles du réseau,
- Des API C++ et Python,
- ...
C'est quoi TensorFlow Keras ?
TensorFlow 2.0 intègre Keras. Créée par François Chollet, ingénieur français chercheur en IA chez Google, il s'agit d'une API de deep learning de haut niveau. Déployée par Netflix, Uber, la NASA, Yelp et évidemment Google, elle permet de créer des réseaux de neurones en quelques lignes de code avant de les entrainer et les déployer via TensorFlow.
Comment installer TensorFlow ?
Pour installer TensorFlow, on pourra passer par le gestionnaire de packages pip. Développée pour Ubuntu et Windows, le dernière version stable de TensorFlow prend en charge les processeurs CPU et GPU.
Comment utiliser TensorFlow ?
TensorFlow propose une série de workflows pour développer et entrainer des modèles à l'aide du langage Python ou JavaScript. Pour les débutants, le site du projet open source conseille de commencer en utilisant l'API Keras (Sequential). Une interface de programmation qui "permet de créer des modèles en connectant différents composants".
TensorFlow.org propose un guide en français avec différents tutoriels, certains conçus pour les débutants d'autres pour les experts.
TensorFlow.js, c'est quoi ?
TensorFlow.js est la déclinaison TensorFlow permettant de développer et d'entrainer des modèles de deep learning à l'aide du langage JavaScript.
À quoi répond TensorFlow Lite ?
TensorFlow Lite est un interpréteur taillé pour compresser les réseaux de neurones conçus via TensorFlow en vue de les déployer sur des appareils de petite taille : smartphone Android ou iOS, objet connecté...
TensorFlow vs PyTorch : quelle différence ?
PyTorch est une bibliothèque d'apprentissage profond développée par Facebook. TensorFlow supplante PyTorch en termes de données et d'outils proposés. Contrairement à PyTorch, TensorFlow se limite à une architecture de modélisation statique. Ce qui implique de figer le graph du modèle pendant toute la phase d'entrainement.