TensorFlow
Explore TensorFlow's core concepts, architecture, and ecosystem. Learn how to export Ultralytics YOLO26 models for seamless deployment to TFLite, JS, and more.
TensorFlow une bibliothèque logicielle open source complète dédiée au
machine learning (ML) et à l'
intelligence artificielle (IA), initialement
développée par l'équipe Google . Elle sert de plateforme fondamentale permettant aux développeurs de créer, d'entraîner et de
déployer des modèles sophistiqués d'apprentissage profond. Bien qu'elle soit largement utilisée pour créer des réseaux neuronaux à grande échelle, son
architecture flexible lui permet de fonctionner sur diverses plateformes, des puissants serveurs cloud et
processeurs graphiques (GPU) aux
appareils mobiles et systèmes informatiques de pointe. Cette polyvalence en fait un outil essentiel pour des secteurs allant des
soins de santé et de la finance à l'ingénierie automobile.
Concepts fondamentaux et architecture
Le nom de ce framework vient des « tenseurs », qui sont des tableaux multidimensionnels de données circulant à travers
un graphe de calcul. Cette approche basée sur les graphes permet à TensorFlow gérer efficacement des opérations mathématiques complexes
.
-
Graphiques computationnels : TensorFlow utilise TensorFlow un graphique de flux de données pour représenter les calculs.
Les nœuds du graphique représentent des opérations mathématiques, tandis que les arêtes représentent les tableaux de données multidimensionnels
(tensors) communiqués entre eux. Cette structure est excellente pour l'
apprentissage distribué sur plusieurs
processeurs.
-
Intégration Keras : les versions modernes du framework s'intègrent étroitement à
Keras, une API de haut niveau conçue pour les êtres humains, et non pour les
machines. Keras simplifie le processus de construction de
réseaux neuronaux (NN) en abstraisant une grande partie de la
complexité de bas niveau, ce qui facilite la création de prototypes de modèles pour les débutants.
-
Exécution immédiate : contrairement aux versions précédentes qui s'appuyaient fortement sur des graphiques statiques, les nouvelles
itérations utilisent par défaut l'exécution immédiate. Cela permet d'évaluer immédiatement les opérations, ce qui simplifie le
débogage et rend l'expérience de codage plus intuitive, similaire à la norme
Python .
Applications concrètes
TensorFlow un rôle déterminant dans le développement de nombreuses technologies qui ont un impact sur la vie quotidienne et les opérations industrielles.
-
Classification d'images et détection d'objets : cette technologie est largement utilisée pour entraîner les
réseaux neuronaux convolutifs (CNN)
à identifier des objets dans des images. Par exemple, dans le domaine de l'
analyse d'images médicales, les modèles construits sur
ce cadre peuvent aider les radiologues à détecter avec une grande précision des anomalies telles que des tumeurs sur des radiographies ou des IRM.
-
Traitement du langage naturel (NLP) : de nombreux
modèles linguistiques à grande échelle (LLM) et
services de traduction s'appuient sur TensorFlow traiter et générer le langage humain. Il alimente des applications telles que les assistants vocaux
et les outils d'analyse des sentiments qui
aident les entreprises à comprendre les commentaires des clients en interprétant les données textuelles à grande échelle.
Comparaison avec PyTorch
Bien que les deux soient des frameworks dominants dans le paysage de l'IA, TensorFlow considérablement de
PyTorch. PyTorch souvent privilégié dans la recherche universitaire pour
son graphe de calcul dynamique, qui permet de modifier à la volée la structure du réseau. En revanche, TensorFlow
a toujours été préféré pour le
déploiement de modèles dans les environnements de production en raison de
son écosystème robuste, notamment TensorFlow et
TensorFlow pour les appareils mobiles. Cependant, les mises à jour récentes ont rapproché les deux frameworks en termes de convivialité et de
fonctionnalités.
Intégration avec Ultralytics
Ultralytics , tels que le modèle de pointe YOLO26, sont
construits à l'aide de PyTorch offrent une interopérabilité transparente avec TensorFlow . Cela est rendu possible grâce à des modes d'exportation
qui permettent aux utilisateurs de convertir YOLO entraînés en formats compatibles avec le framework Google, tels que
SavedModel, TF.js ou TFLite. Cette flexibilité garantit aux utilisateurs de pouvoir s'entraîner sur Ultralytics et de déployer leurs modèles sur des appareils qui nécessitent des formats spécifiques
.
L'exemple suivant montre comment exporter un modèle YOLO26 vers un format compatible avec cet écosystème :
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TensorFlow SavedModel format
# This creates a directory containing the model assets
model.export(format="saved_model")
Outils et écosystème associés
Le cadre s'appuie sur une riche suite d'outils conçus pour gérer l'ensemble du
cycle de vie des opérations d'apprentissage automatique (MLOps)
:
-
TensorBoard : un puissant ensemble d'outils de visualisation qui aide les chercheurs track telles que les
fonctions de perte et la précision pendant l'entraînement. Il
fournit une interface graphique permettant d'inspecter les graphiques des modèles et de déboguer les problèmes de performance. Vous pouvez utiliser l'
intégration de TensorBoard avec Ultralytics
visualiser vos exécutions YOLO .
-
TensorFlow : une solution légère spécialement conçue pour l'
IA de pointe et le déploiement mobile. Elle optimise les modèles afin qu'ils fonctionnent
efficacement sur des appareils dont la puissance et la mémoire sont limitées, tels que les smartphones et les microcontrôleurs.
-
TensorFlow.js : cette bibliothèque permet aux modèles ML de s'exécuter directement dans le navigateur ou sur Node.js. Elle
permet l'inférence côté client, ce qui signifie que les données n'ont pas
besoin d'être envoyées à un serveur, ce qui améliore la confidentialité et réduit la latence.
-
TFX (TensorFlow ) : une plateforme de bout en bout pour le déploiement de pipelines de production. Elle permet d'
automatiser la validation des données, l'entraînement des modèles et la mise en service,
garantissant ainsi des applications d'IA évolutives et fiables.