Exporter un modèle au format TF.js à partir d’un modèle YOLO26#
Depuis Ultralytics 8.4.83, le format d’exportation 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 l’accélération WebGPU) — couvrant les cas d’usage dans le navigateur et avec Node.js, gérés auparavant par TF.js, ainsi que les usages mobiles, embarqués et en périphérie, à partir d’un seul modèle .tflite.
format="tfjs" fonctionne toujours, mais émet un avertissement d’obsolescence et exporte un modèle LiteRT à la place. Utilise format="litert" à l’avenir ; pour consulter les instructions d’exportation actuelles et la méthode de déploiement dans le navigateur, consulte le guide d’exportation LiteRT.
Le déploiement de modèles d’apprentissage automatique directement dans le navigateur ou sur Node.js peut être complexe. Tu dois veiller à ce que le format de ton modèle soit optimisé pour offrir 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 consommer un minimum de ressources tout en offrant des performances rapides.
La fonctionnalité « exporter au format de modèle TF.js » te permet d’optimiser tes modèles Ultralytics YOLO26 pour effectuer une inférence de détection d’objets rapide et locale. Dans ce guide, nous t’expliquerons comment convertir tes modèles au format TF.js afin qu’ils fonctionnent plus facilement dans divers navigateurs locaux et applications Node.js.
Pourquoi exporter au format TF.js ?#
L’exportation de tes modèles d’apprentissage automatique vers TensorFlow.js, développé par l’équipe TensorFlow dans le cadre de l’écosystème TensorFlow global, offre de nombreux avantages pour le déploiement d’applications d’apprentissage automatique. Elle contribue à renforcer 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 la manière dont les modèles d’apprentissage automatique 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 dispose aussi de fonctionnalités hors ligne, qui permettent 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. Il est pensé pour être évolutif et prend en charge l’accélération GPU.
Principales caractéristiques de TF.js#
Voici les principales caractéristiques 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, ce qui offre une grande flexibilité de déploiement sur différentes plateformes. Il permet aux développeurs de créer et de déployer des applications plus facilement.
-
Prise en charge de plusieurs backends : TensorFlow.js prend en charge divers backends de calcul, notamment le CPU, WebGL pour l’accélération GPU, WebAssembly (WASM) pour une vitesse d’exécution proche du natif et WebGPU pour des capacités avancées d’apprentissage automatique 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 de modèles YOLO26 au format TF.js, examinons quelques scénarios de déploiement courants pour ce format.
TF.js offre plusieurs options pour déployer tes modèles d’apprentissage automatique :
-
Applications d’apprentissage automatique dans le navigateur : tu peux créer des applications web qui exécutent des modèles d’apprentissage automatique directement dans le navigateur. Cela élimine le besoin de calcul côté serveur et réduit la charge sur le serveur.
-
Applications Node.js : TensorFlow.js prend également en charge le déploiement dans les environnements Node.js, ce qui permet de développer des applications d’apprentissage automatique côté serveur. Cette solution est particulièrement utile pour les applications qui nécessitent la puissance de calcul d’un serveur ou un accès aux données côté serveur.
-
Extensions Chrome : la création d’extensions Chrome avec TensorFlow.js est un scénario de déploiement intéressant. Tu peux, par exemple, développer une extension qui permet aux utilisateurs de cliquer avec le bouton droit sur une image d’une page web pour la classifier à l’aide d’un modèle d’apprentissage automatique préentraîné. TensorFlow.js peut s’intégrer aux activités de navigation web quotidiennes pour fournir immédiatement des informations ou des améliorations fondées sur l’apprentissage automatique.
Exporter des modèles YOLO26 vers TensorFlow.js#
Tu peux élargir la compatibilité et la flexibilité de déploiement des modèles en convertissant les modèles YOLO26 au format 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 connaître les bonnes pratiques liées à l’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, qui propose des solutions et des conseils.
Utilisation#
Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l’exportation dès leur installation, ce qui facilite leur intégration à ton flux de déploiement préféré. Tu peux consulter la liste complète des formats d’exportation pris en charge et des options de configuration pour choisir la configuration la mieux adaptée à ton application.
L’argument tfjs exporte désormais un modèle .tflite LiteRT, qui prend en charge les modes Export, Predict et Validate localement et s’exécute dans le navigateur via LiteRT.js. Consulte le guide d’exportation LiteRT pour connaître la méthode actuelle de déploiement dans le navigateur et sur l’appareil.
from ultralytics import YOLO
# Charger un modèle YOLO26
model = YOLO("yolo26n.pt")
# Exporter le modèle au format LiteRT (remplace TF.js)
model.export(format="litert", imgsz=640) # utiliser imgsz=224 pour la 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’exportation LiteRT.
Arguments d’exportation#
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
format | str | 'litert' | Format cible du modèle exporté ; la valeur obsolète 'tfjs' exporte au format LiteRT. |
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 définir des dimensions spécifiques. |
quantize | int ou str | None | Précision de quantification : 8 (INT8 statique, poids int8 et activations int8 ; nécessite les données d’étalonnage data/fraction), 'w8a16' (statique, poids int8 et activations int16 ; nécessite les données d’étalonnage data/fraction), 'w8a32' (INT8 dynamique, poids int8 et activations FP32 ; aucun étalonnage nécessaire) ou 32/non défini (FP32). FP16 n’est pas exporté séparément : un modèle FP32 s’exécute automatiquement en FP16 sur les délégués GPU. Remplace les indicateurs obsolètes half/int8. |
batch | int | 1 | Indique la taille de lot pour l’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 d’accès au fichier YAML du jeu de données, indispensable à la quantification ; pour la classification, un répertoire de jeu de données ou le nom d’un jeu de données intégré est requis. Si tu ne le renseignes pas 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 exprimé en ratio, en nombre d’images ou en listes [train, val, test] de ratios/de nombres. 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 les puces Apple (device=mps). |
Pour en savoir plus sur le processus d’export, consulte la page de la documentation Ultralytics consacrée à l’export.
Déploiement 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’exportation produit un modèle .tflite LiteRT qui s’exécute sur l’appareil et dans le navigateur via LiteRT.js — consulte le guide d’exportation LiteRT pour connaître la méthode actuelle.
À titre indicatif, voici les ressources de l’ancien environnement d’exécution TensorFlow.js :
-
Extension Chrome : voici la documentation destinée aux développeurs qui explique comment déployer tes modèles TF.js dans une extension Chrome.
-
Exécuter TensorFlow.js dans Node.js : un billet de blog TensorFlow sur l’exécution directe de TensorFlow.js dans Node.js.
-
Déployer TensorFlow.js — projet Node sur une plateforme cloud : un billet de blog TensorFlow sur le déploiement d’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 au format TF.js, tu gagnes en flexibilité pour optimiser, déployer et mettre à l’échelle 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 en savoir plus sur l’intégration d’Ultralytics YOLO26 à d’autres plateformes et frameworks, n’oublie pas de consulter notre page du guide d’intégration. Elle regorge de ressources utiles pour tirer le meilleur parti de YOLO26 dans tes projets.
FAQ#
L’exportation de modèles Ultralytics YOLO26 au format TensorFlow.js (TF.js) est simple. Tu peux suivre ces étapes :
Utilisationfrom ultralytics import YOLO # Charger un modèle YOLO26 model = YOLO("yolo26n.pt") # Exporter le modèle au format LiteRT (remplace TF.js) model.export(format="litert", imgsz=640) # utiliser imgsz=224 pour la classification # Le modèle '.tflite' exporté s’exécute dans le navigateur via LiteRT.js ou localement avec yolo predict/val.Pour plus de détails sur les options d’exportation prises en charge, consulte la page de la documentation Ultralytics sur les options de déploiement.
L’exportation de 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, ce qui offre une grande flexibilité de déploiement.
- Fonctionnalités hors ligne : permet aux applications de fonctionner sans connexion Internet, pour plus de fiabilité et de confidentialité.
- Accélération GPU : exploite WebGL pour accélérer le GPU et optimiser les performances sur les appareils aux ressources limitées.
TensorFlow.js est spécialement conçu pour exécuter efficacement des modèles d’apprentissage automatique dans les navigateurs et les environnements Node.js. Voici les avantages qu’il apporte aux applications dans le navigateur :
- Réduction de la latence : exécute les modèles d’apprentissage automatique localement et fournit des résultats immédiats sans dépendre de calculs côté serveur.
- Amélioration de la confidentialité : conserve les données sensibles sur l’appareil de l’utilisateur, ce qui réduit les risques de sécurité.
- Utilisation hors ligne : les modèles peuvent fonctionner sans connexion Internet, ce qui garantit un fonctionnement continu.
- Prise en charge de plusieurs backends : offre une grande flexibilité avec des backends comme le CPU, WebGL, WebAssembly (WASM) et WebGPU pour répondre à différents besoins de calcul.
Tu souhaites en savoir plus sur TF.js ? Consulte le guide officiel de TensorFlow.js.
Les principales caractéristiques de TensorFlow.js comprennent :
- Prise en charge multiplateforme : TF.js peut être utilisé dans les navigateurs web et sur Node.js, ce qui offre une grande flexibilité de déploiement.
- Plusieurs backends : prend en charge le CPU, WebGL pour l’accélération GPU, WebAssembly (WASM) et WebGPU pour les 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 un outil idéal pour développer des applications web réactives.
Pour découvrir 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 rend possible la création d’applications d’apprentissage automatique côté serveur qui tirent parti de la puissance de calcul d’un serveur et de l’accès aux données côté serveur. Les cas d’usage courants comprennent le traitement des données en temps réel et les pipelines d’apprentissage automatique sur des serveurs backend.
Pour commencer le déploiement avec Node.js, consulte le guide Exécuter TensorFlow.js dans Node.js de TensorFlow.