Glossaire

TensorFlow

Découvre TensorFlow, le puissant framework ML open-source de Google pour l'innovation en matière d'IA. Construis, entraîne et déploie des modèles de réseaux neuronaux en toute transparence !

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

TensorFlow est une bibliothèque open-source largement utilisée, développée par l'équipe Google Brain pour le calcul numérique et l'apprentissage automatique (ML) à grande échelle. Elle fournit un écosystème complet d'outils, de bibliothèques et de ressources communautaires qui permet aux chercheurs de repousser les limites de l'état de l'art en ML et aux développeurs de créer et de déployer facilement des applications alimentées par ML. Son architecture flexible permet un déploiement sur différentes plateformes, notamment les serveurs, les appareils mobiles via TensorFlow Lite, et les navigateurs Web à l'aide de TensorFlow.js.

Comment fonctionne TensorFlow

À la base, TensorFlow fonctionne sur des tenseurs, qui sont des tableaux multidimensionnels, d'où le nomTensorFlow" - représentant le flux de ces tenseurs à travers un graphe de calcul. Alors que les versions précédentes s'appuyaient fortement sur des graphes de calcul statiques, TensorFlow 2.x a introduit l'exécution impatiente par défaut, ce qui le rend plus intuitif et plus facile à déboguer, à l'instar de la version standard de Python standard. Les principales fonctionnalités comprennent la différenciation automatique pour calculer facilement les gradients nécessaires à la rétropropagation et à l'entraînement des modèles, ainsi qu'un large éventail de couches préconstruites et d'utilitaires pour construire des réseaux neuronaux (NN). Il tire parti de l'accélération matérielle à l'aide des GPU et du matériel spécialisé comme les TPU pour des calculs de haute performance.

Caractéristiques principales et écosystème

TensorFlow offre plusieurs fonctionnalités qui rationalisent le flux de travail de ML :

  • Keras API : Une API de haut niveau intégrée à TensorFlow, connue pour sa convivialité et sa modularité, qui simplifie le processus de construction et d'entraînement des modèles d'apprentissage profond. Keras permet de réaliser rapidement des prototypes.
  • Formation distribuée : La prise en charge intégrée de la répartition des calculs sur plusieurs machines et GPU permet d'accélérer la formation de grands modèles sur des ensembles de données massifs.
  • Optimisation des modèles : Des outils comme le TensorFlow Model Optimization Toolkit fournissent des techniques de quantification et d'élagage des modèles pour créer des modèles plus petits, plus rapides et plus économes en énergie, adaptés aux appareils de périphérie.
  • Flexibilité de déploiement : Les modèles TensorFlow peuvent être déployés pratiquement n'importe où, des grandes fermes de serveurs(cloud computing) aux environnements à ressources limitées comme les systèmes mobiles et embarqués en utilisant l'exportationTensorFlow Lite ou les applications web via l'exportationTensorFlow.js. Les modèles Ultralytics YOLO peuvent également être exportés au formatTensorFlow SavedModel .

Applications et exemples

TensorFlow est utilisé dans de nombreux domaines :

  • Vision par ordinateur : Alimenter des applications telles que la classification d'images, la détection d'objets et la segmentation d'images. Par exemple, Google utilise TensorFlow dans Google Photos pour la reconnaissance d'images et les fonctions de recherche. Les modèlesYOLO d'Ultralytics , bien que principalement développés en PyTorchpeuvent être convertis au format TensorFlow pour être déployés.
  • Traitement du langage naturel (NLP) : Utilisé pour des tâches telles que la traduction automatique, l'analyse des sentiments et la construction de modèles linguistiques sophistiqués comme BERT. L'algorithme RankBrain de Google Search, qui aide à interpréter les requêtes de recherche complexes, a été une des premières applications à grande échelle de TensorFlow.
  • Soins de santé : Aider à l'analyse d'images médicales pour détecter des maladies à partir de scanners ou prédire les résultats des patients en se basant sur les dossiers médicaux électroniques.
  • Finance : Utilisé pour la détection des fraudes, le commerce algorithmique et les modèles d'évaluation du crédit.

TensorFlow vs. PyTorch

TensorFlow et PyTorch sont les deux frameworks dominants en matière d'apprentissage profond. Historiquement, TensorFlow était connu pour sa force dans le déploiement en production et son évolutivité à l'aide de graphes statiques, tandis que PyTorch a gagné en popularité dans la communauté des chercheurs en raison de ses graphes dynamiques et de sa sensation plus pythonique. Cependant, avec l'adoption par TensorFlow 2.x de l'exécution impatiente, les différences sont devenues moins prononcées. Le choix dépend souvent des besoins spécifiques du projet, de la familiarité de l'équipe et des outils de l'écosystème. De nombreux modèles, dont Ultralytics YOLOv8offrent des options de compatibilité ou d'exportation pour les deux frameworks, ce qui permet une certaine flexibilité dans le déploiement des modèles.

Tout lire