Le framework d'apprentissage automatique open source de Google qui alimente les réseaux neuronaux profonds pour la reconnaissance d'images, le traitement du langage naturel et le calcul numérique à grande échelle
En novembre 2015, Google a publié son cadre open source de machine learning, baptisé TensorFlow. Il prend en charge le deep learning, les réseaux de neurones et les calculs numériques généraux sur des CPU, des GPU et des clusters de GPU. L'un des avantages majeurs de TensorFlow réside dans sa nature open source et sa communauté de développeurs, de data scientists et de data engineers qui contribuent au repository. Vous trouverez la version actuelle de TensorFlow sur GitHub, accompagné de notes de version. TensorFlow est de loin le moteur d'IA le plus populaire en usage actuellement.

TensorFlow est une bibliothèque open source dédiée au calcul numérique, au machine learning à grande échelle, au deep learning et autres charges de travail de statistique et d'analytique prédictive. Ce type de technologie simplifie et accélère le travail des développeurs qui mettent en œuvre des modèles de machine learning en soutenant plusieurs tâches, dont l'acquisition des données, la livraison de prédictions à grande échelle et l'affinage des résultats futurs.
Mais que fait TensorFlow exactement ? Ce moteur entraîne et exécute des réseaux de neurones profonds pour réaliser des tâches comme la classification de chiffres manuscrits, la reconnaissance d'images, l'intégration de mots et le traitement du langage naturel (TAL). Le code contenu dans ses bibliothèques logicielles peut être ajouté à tout type d'application pour lui permettre d'apprendre ces tâches.
Les applications TensorFlow s'exécutent aussi bien sur des processeurs traditionnels que sur des GPU (processeurs graphiques haute performance). Et comme TensorFlow a été développé par Google, il fonctionne également sur les processeurs de tenseurs (TPU) de l'entreprise, qui sont spécialement conçus pour accélérer les tâches TensorFlow.
Vous vous demandez dans quel langage TensorFlow est écrit ?Bien qu'il utilise Python comme API front-end pour le développement d'applications, il possède en réalité des wrappers dans plusieurs langages, dont C++ et Java. Vous pouvez donc entraîner et déployer votre modèle de machine learning rapidement, quels que soient le langage et la plateforme que vous avez l'habitude d'utiliser.
Cliquez ici pour connaître les réponses aux questions fréquentes sur le développement de modèles TensorFlow.
Google a publié TensorFlow pour la première fois en 2015 sous licence Apache 2.0. Son prédécesseur, un framework Google fermé appelé DistBelief, a servi de banc d'essai pour l'implémentation du deep learning.
Les premiers TPU de Google ont été présentés au public en 2016. Ils étaient alors utilisés en interne avec TensorFlow pour alimenter une partie des applications et services en ligne de l'entreprise. Parmi eux, les plus notables sont sans doute l'algorithme de recherche RankBrain et la technologie cartographique de Street View.
Début 2017, Google TensorFlow est passé en version 1.0.0. Un an plus tard, Google a mis la deuxième génération de TPU à la disposition des utilisateurs de Google Cloud Platform afin qu'ils puissent entraîner et exécuter leurs propres modèles de machine learning.
La version la plus récente du moteur, TensorFlow 2.0, a été publiée en octobre 2019. Google a pris en compte les retours des utilisateurs afin d'apporter diverses améliorations au framework et de faciliter son exploitation. Pour prendre un exemple, il utilise désormais l'API Keras, relativement simple, pour l'entraînement des modèles.
Comme vous le savez, Google a créé TensorFlow. L'entreprise reste propriétaire du framework et en assure la maintenance. TensorFlow est le fruit du travail des chercheurs de l'équipe Google Brain, qui mènent des travaux de recherche fondamentale pour faire progresser des domaines stratégiques de l'intelligence machine et améliorer la compréhension théorique du deep learning.
L'équipe Google Brain a mis au point TensorFlow pour pouvoir travailler indépendamment de l'infrastructure de calcul de Google, mais l'appui d'un géant commercial a de nombreux avantages pour le modèle. En plus de financer le développement rapide du projet, Google a également amélioré TensorFlow au fil des ans pour faciliter son déploiement et son utilisation.
Google a choisi de faire de TensorFlow un framework open source dans le but d'accélérer le développement de l'IA. Le projet repose largement sur la communauté : tous les utilisateurs peuvent contribuer à l'amélioration de la technologie et tous profitent de ces avancées.
TensorFlow combine plusieurs modèles et algorithmes de machine learning et de deep learning (ou réseaux de neurones) et les rend exploitables par le biais d'une interface commune.
Cette interface permet aux développeurs de créer des graphes de flux de données composés de nœuds de calcul qui représentent des opérations mathématiques. Chaque connexion entre des nœuds représente des vecteurs ou des matrices multidimensionnels, et crée ce qu'on appelle un tenseur.
Si l'API front-end de TensorFlow est en Python, les opérations mathématiques elles-mêmes ne sont pas effectuées dans ce langage. Ce sont en effet des binaires C++ haute performance qui réalisent ces opérations en coulisses. Python dirige le trafic entre les différents éléments et les articule au moyen d'abstractions programmatiques de haut niveau.
Les applications TensorFlow peuvent être exécutées sur toutes les cibles ou presque : appareils iOS et Android, machines locales, cluster dans le cloud, mais aussi CPU et GPU (et même sur les TPU personnalisés de Google si vous utilisez Google Cloud).
TensorFlow comprend des API haut niveau et bas niveau. Google recommande d'utiliser les API de haut niveau pour simplifier le développement de pipelines de données et la programmation d'applications, mais les API de bas niveau (appelées TensorFlow Core) sont utiles à des fins de debugging et d'expérimentation.
TensorFlow est conçu pour optimiser le processus de développement et d'exécution d'applications d'analytique avancée pour les data scientists, les statisticiens et les créateurs de modèles prédictifs.
De nombreuses entreprises de secteur et de taille variables utilisent le framework pour automatiser les processus et développer de nouveaux systèmes, et il est particulièrement pertinent dans les applications de traitement parallèle à grande échelle comme les réseaux de neurones. Il est également employé dans le cadre d'expérimentations et de tests avec les véhicules autonomes.
Comme vous pouvez l'imaginer, Google utilise aussi TensorFlow pour ses opérations internes, en particulier pour améliorer les capacités de récupération d'informations de son moteur de recherche et pour alimenter des applications de génération de réponse automatique aux e-mails, de classification d'images et de reconnaissance optique des caractères.
TensorFlow offre notamment l'avantage de fournir une couche d'abstraction : les développeurs peuvent se concentrer sur la logique globale de l'application tandis que le framework se charge des détails. C'est également très pratique pour les développeurs qui ont besoin de déboguer et d'explorer en profondeur des applications TensorFlow.
La suite de visualisation TensorBoard propose un tableau de bord web interactif qui permet d'inspecter et de profiler l'exécution des graphes. Un mode d'exécution agressif vous permet également d'évaluer et de modifier chaque opération de graphe de façon distincte et transparente, au lieu de faire du graphe complet un seul objet opaque et de l'évaluer dans sa globalité.
Le Databricks Runtime pour le machine learning inclut TensorFlow et TensorBoard : vous pouvez donc utiliser ces bibliothèques sans installer aucun package.
Voyons maintenant comment utiliser TensorFlow.
Vous trouverez des instructions complètes et des tutoriels sur tensorflow.org, mais voici les bases.
Configuration système requise :
Configuration matérielle requise :
1. Installez l'environnement de développement Python sur votre système
Vérifiez si votre environnement Python est déjà configuré :
python3 - -version
pip3 - -version
Si ces packages sont déjà installés, passez immédiatement à l'étape suivante.
Autrement, installez Python, le gestionnaire de package pip et venv.
Si vous n'êtes pas dans un environnement virtuel, utilisez python3 -m pip dans les commandes ci-dessous. Vous aurez ainsi l'assurance de mettre à niveau et d'utiliser le pip Python plutôt que le pip système.
2. Créez un environnement virtuel (recommandé)
Les environnements virtuels Python permettent d'isoler l'installation des packages du reste du système.
3. Installez le package pip TensorFlow
Choisissez l'un des packages TensorFlow suivants et installez-le depuis PyPI :
Vérifiez l'installation. Si la commande renvoie un tenseur, vous avez bien installé TensorFlow.
Remarque : certains mécanismes d'installation requièrent l'URL du package Python TensorFlow. La valeur que vous indiquerez dépend de votre version de Python.
Le gestionnaire de package pip offre une méthode simple pour mettre à jour TensorFlow, quel que soit votre environnement.
Prérequis :
Pour passer à une version plus récente de TensorFlow :
1. Ouvrez le terminal (Ctrl+Alt+T).
2. Vérifiez la version de TensorFlow actuellement installée :
pip3 show tensorflow
La commande affiche des informations sur le package et précise sa version.
3. Passez à une version plus récente de TensorFlow à l'aide de la commande suivante :
pip3 install - -upgrade tensorflow==<version>
Veillez à sélectionner une version compatible avec votre version de Python, sans quoi elle ne s'installera pas. Pour l'environnement de notebook, utilisez la commande suivante et redémarrez le noyau quand elle a abouti :
!pip install - -upgrade tensorflow==<version>
Cette commande supprime automatiquement l'ancienne version et ses dépendances, puis installe la version plus récente.
4. Vérifiez que vous détenez bien une nouvelle version en lançant :
pip3 show tensorflow