Exporter au format de modèle TF.js depuis un modèle au format YOLO26#
Depuis Ultralytics 8.4.83, le format d’export tfjs (TensorFlow.js) a été supprimé et remplacé par le format unifié Google LiteRT. LiteRT s’exécute dans le navigateur via LiteRT.js (avec accélération WebGPU) — couvrant les cas d’utilisation dans le navigateur et avec Node.js gérés par TF.js, ainsi que les environnements mobiles, embarqués et edge, depuis un seul modèle .tflite.
format="tfjs" fonctionne toujours, mais émet un avertissement d’obsolescence et exporte à la place un modèle LiteRT. Utilise format="litert" à partir de maintenant ; pour consulter les instructions d’export actuelles et la procédure de déploiement dans le navigateur, vois le guide d’export LiteRT.
Déployer directement des modèles de machine learning dans le navigateur ou sur Node.js peut être délicat. Tu dois t’assurer que le format de ton modèle est optimisé pour de meilleures performances, afin qu’il puisse exécuter des applications interactives localement sur l’appareil de l’utilisateur. Le format de modèle TensorFlow.js, ou TF.js, est conçu pour utiliser peu d’énergie tout en offrant de bonnes performances.
La fonctionnalité « exporter au format de modèle TF.js » te permet d’optimiser tes modèles Ultralytics YOLO26 pour l’inférence à haute vitesse et en local de détection d’objets. Dans ce guide, nous allons te montrer comment convertir tes modèles au format TF.js, afin qu’ils fonctionnent plus facilement sur différents navigateurs locaux et dans des applications Node.js.
Pourquoi exporter au format TF.js ?#
Exporter tes modèles de machine learning vers TensorFlow.js, développé par l’équipe TensorFlow dans le cadre de l’écosystème TensorFlow au sens large, offre de nombreux avantages pour le déploiement d’applications de machine learning. Cela contribue à améliorer la confidentialité et la sécurité des utilisateurs en conservant les données sensibles sur l’appareil. L’image ci-dessous présente l’architecture de TensorFlow.js et montre comment les modèles de machine learning sont convertis et déployés dans les navigateurs web et sur Node.js.
L’exécution locale des modèles réduit également la latence et offre une expérience utilisateur plus réactive. TensorFlow.js propose aussi des fonctionnalités hors ligne, permettant aux utilisateurs d’utiliser ton application même sans connexion Internet. TF.js est conçu pour exécuter efficacement des modèles complexes sur des appareils aux ressources limitées et a été pensé pour être évolutif, avec la prise en charge de l’accélération GPU.
Principales fonctionnalités de TF.js#
Voici les principales fonctionnalités qui font de TF.js un outil puissant pour les développeurs :
-
Prise en charge multiplateforme : TensorFlow.js peut être utilisé dans les navigateurs et les environnements Node.js, offrant une grande flexibilité de déploiement sur différentes plateformes. Il permet aux développeurs de créer et de déployer plus facilement des applications.
-
Prise en charge de plusieurs backends : TensorFlow.js prend en charge différents backends de calcul, notamment CPU, WebGL pour l’accélération GPU, WebAssembly (WASM) pour une vitesse d’exécution proche du natif et WebGPU pour des fonctionnalités avancées de machine learning dans le navigateur.
-
Fonctionnalités hors ligne : Avec TensorFlow.js, les modèles peuvent s’exécuter dans le navigateur sans connexion Internet, ce qui permet de développer des applications fonctionnelles hors ligne.
Options de déploiement avec TensorFlow.js#
Avant d’aborder le processus d’exportation des modèles YOLO26 au format TF.js, examinons quelques scénarios de déploiement courants dans lesquels ce format est utilisé.
TF.js offre plusieurs options pour déployer tes modèles de machine learning :
-
Applications de ML dans le navigateur : Tu peux créer des applications web qui exécutent directement des modèles de machine learning dans le navigateur. Le besoin de calcul côté serveur est supprimé et la charge du serveur est réduite.
-
Applications Node.js : TensorFlow.js prend également en charge le déploiement dans des environnements Node.js, ce qui permet de développer des applications de machine learning côté serveur. Cette option est particulièrement utile pour les applications qui nécessitent la puissance de calcul d’un serveur ou l’accès à des données côté serveur.
-
Extensions Chrome : La création d’extensions Chrome avec TensorFlow.js constitue un scénario de déploiement intéressant. Tu peux par exemple développer une extension permettant aux utilisateurs de faire un clic droit sur une image dans n’importe quelle page web afin de la classer à l’aide d’un modèle de ML préentraîné. TensorFlow.js peut être intégré aux expériences de navigation web quotidiennes pour fournir immédiatement des informations ou des améliorations fondées sur le machine learning.
Exporter des modèles YOLO26 vers TensorFlow.js#
Tu peux étendre la compatibilité des modèles et la flexibilité de déploiement en convertissant des modèles YOLO26 vers TF.js.
Installation#
Pour installer le package requis, exécute :
# Install the required package for YOLO26
pip install ultralyticsPour obtenir des instructions détaillées et les bonnes pratiques relatives au processus d'installation, consulte notre guide d'installation Ultralytics. Si tu rencontres des difficultés lors de l'installation des packages requis pour YOLO26, consulte notre guide des problèmes courants pour trouver des solutions et des conseils.
Utilisation#
Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l’exportation directement, ce qui facilite leur intégration à ton workflow de déploiement préféré. Tu peux consulter la liste complète des formats d’exportation et des options de configuration pris en charge pour choisir la meilleure configuration pour ton application.
L’argument tfjs exporte désormais un modèle LiteRT .tflite, qui prend en charge les modes Export, Predict et Validate en local et s’exécute dans le navigateur via LiteRT.js. Consulte le guide d’export LiteRT pour connaître la procédure actuelle de déploiement dans le navigateur et sur l’appareil.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="litert", imgsz=640) # use imgsz=224 for classificationLe modèle LiteRT .tflite exporté se charge directement avec yolo predict et yolo val, et s’exécute dans le navigateur via LiteRT.js. Consulte le guide d’export LiteRT.
Arguments d'exportation#
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
format | str | 'tfjs' | Format cible du modèle exporté, définissant sa compatibilité avec différents environnements de déploiement. |
imgsz | int ou tuple | 640 | Taille d’image souhaitée pour l’entrée du modèle. Peut être un entier pour les images carrées ou un tuple (height, width) pour des dimensions spécifiques. |
quantize | int ou str | None | Précision de la quantification : 8 (INT8 statique, poids int8 + activations int8 ; nécessite l’étalonnage data/fraction), 'w8a16' (statique, poids int8 + activations int16 ; nécessite l’étalonnage data/fraction), 'w8a32' (INT8 dynamique, poids int8 + activations FP32 ; aucun étalonnage requis) ou 32/non défini (FP32). FP16 n’est pas exporté séparément — un modèle FP32 s’exécute automatiquement en FP16 avec les délégués GPU. Remplace les indicateurs obsolètes half/int8. |
batch | int | 1 | Indique la taille du lot d'inférence du modèle exporté ou le nombre maximal d'images que le modèle exporté traitera simultanément en mode predict. |
data | str | None | Chemin vers le fichier YAML du jeu de données, indispensable pour la quantification ; la classification accepte à la place un répertoire de données ou le nom d'un jeu de données intégré. S'il est omis avec quantize=8 ou 'w8a16', Ultralytics sélectionne le jeu de données d'étalonnage par défaut pour la tâche du modèle. |
fraction | float, int ou list | 1.0 | Sous-ensemble de calibration sous forme de ratio, de nombre d’images ou de ratios/nombres [train, val, test]. Les listes de deux éléments laissent test complet, tandis que 0 l’ignore. |
device | str | None | Indique l'appareil utilisé pour l'exportation : CPU (device=cpu), MPS pour le silicium Apple (device=mps). |
Pour plus de détails sur le processus d’exportation, consulte la page de la documentation Ultralytics consacrée à l’exportation.
Déployer des modèles YOLO26 TensorFlow.js exportés#
Maintenant que tu as exporté ton modèle YOLO26, l’étape suivante consiste à le déployer. L’export produit un modèle LiteRT .tflite qui s’exécute sur l’appareil et dans le navigateur via LiteRT.js — consulte le guide d’export LiteRT pour connaître la procédure actuelle.
À titre de référence, voici les anciennes ressources d’exécution TensorFlow.js :
-
Extension Chrome : voici la documentation destinée aux développeurs expliquant comment déployer tes modèles TF.js dans une extension Chrome.
-
Exécuter TensorFlow.js dans Node.js : un article du blog TensorFlow expliquant comment exécuter directement TensorFlow.js dans Node.js.
-
Déployer TensorFlow.js - Projet Node sur une plateforme cloud : un article du blog TensorFlow expliquant comment déployer un modèle TensorFlow.js sur une plateforme cloud.
Résumé#
Dans ce guide, nous avons appris à exporter des modèles Ultralytics YOLO26 au format TensorFlow.js. En exportant vers TF.js, tu gagnes la flexibilité nécessaire pour optimiser, déployer et faire évoluer tes modèles YOLO26 sur un large éventail de plateformes.
Pour plus de détails sur l’utilisation, consulte la documentation officielle de TensorFlow.js.
Pour plus d’informations sur l’intégration d’Ultralytics YOLO26 avec d’autres plateformes et frameworks, n’oublie pas de consulter notre page du guide des intégrations. Elle regorge de ressources utiles pour tirer le meilleur parti de YOLO26 dans tes projets.
FAQ#
L’exportation des modèles YOLO26 vers TensorFlow.js offre plusieurs avantages, notamment :
- Exécution locale : les modèles peuvent s’exécuter directement dans le navigateur ou sur Node.js, ce qui réduit la latence et améliore l’expérience utilisateur.
- Prise en charge multiplateforme : TF.js prend en charge plusieurs environnements, offrant une grande flexibilité de déploiement.
- Fonctionnalités hors ligne : permet aux applications de fonctionner sans connexion Internet, garantissant fiabilité et confidentialité.
- Accélération GPU : exploite WebGL pour l’accélération GPU, optimisant les performances sur les appareils aux ressources limitées.
Les principales fonctionnalités de TensorFlow.js sont les suivantes :
- Prise en charge multiplateforme : TF.js peut être utilisé dans les navigateurs web et sur Node.js, offrant une grande flexibilité de déploiement.
- Plusieurs backends : prend en charge CPU, WebGL pour l’accélération GPU, WebAssembly (WASM) et WebGPU pour des opérations avancées.
- Fonctionnalités hors ligne : les modèles peuvent s’exécuter directement dans le navigateur sans connexion Internet, ce qui en fait une solution idéale pour développer des applications web réactives.
Pour connaître les scénarios de déploiement et obtenir des informations plus détaillées, consulte notre section sur les options de déploiement avec TensorFlow.js.
Oui, TensorFlow.js permet de déployer des modèles YOLO26 dans des environnements Node.js. Cela permet de créer des applications de machine learning côté serveur qui bénéficient de la puissance de calcul d’un serveur et de l’accès aux données côté serveur. Les cas d’utilisation courants incluent le traitement des données en temps réel et les pipelines de machine learning sur des serveurs backend.
Pour commencer le déploiement avec Node.js, consulte le guide Exécuter TensorFlow.js dans Node.js de TensorFlow.
L’exportation des modèles Ultralytics YOLO26 au format TensorFlow.js (TF.js) est simple. Tu peux suivre les étapes suivantes :
Pour plus de détails sur les options d’export prises en charge, consulte la page de la documentation Ultralytics consacrée aux options de déploiement.