YOLO Vision 2026 :

Exporter au format de modèle TF.js à partir d'un format de modèle YOLO26#

Obsolète — remplacé par LiteRT

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 l'accélération WebGPU), couvrant ainsi les cas d'usage dans le navigateur et sur Node.js pris en charge par TF.js, ainsi que sur mobile, embarqué et edge, à partir d'un seul modèle .tflite.

format="tfjs" fonctionne toujours mais émet un avertissement de dépréciation et exporte un modèle LiteRT à la place. Utilise format="litert" pour la suite ; pour les instructions d'export actuelles et le parcours de déploiement dans le navigateur, consulte le guide d'export LiteRT.

Déployer des modèles de machine learning directement dans le navigateur ou sur Node.js peut s'avérer délicat. Tu dois t'assurer que le format de ton modèle est optimisé pour des performances accrues afin qu'il puisse être utilisé pour 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 d'énergie tout en offrant des performances rapides.

La fonctionnalité « export vers le format de modèle TF.js » te permet d'optimiser tes modèles Ultralytics YOLO26 pour une inférence à haute vitesse et exécutée localement de détection d'objets. Dans ce guide, nous t'accompagnons dans la conversion de tes modèles au format TF.js, facilitant ainsi leurs performances sur divers navigateurs locaux et applications Node.js.

Pourquoi devrais-tu exporter vers TF.js ?#

Exporter tes modèles d'apprentissage automatique vers TensorFlow.js, développé par l'équipe TensorFlow dans le cadre de l'écosystème TensorFlow plus large, offre de nombreux avantages pour le déploiement d'applications d'apprentissage automatique. Cela aide à améliorer la confidentialité et la sécurité des utilisateurs en gardant les données sensibles sur l'appareil. L'image ci-dessous montre l'architecture de TensorFlow.js et comment les modèles d'apprentissage automatique sont convertis et déployés à la fois sur les navigateurs web et sur Node.js.

TensorFlow.js browser ML inference architecture

Exécuter des modèles localement réduit également la latence et offre une expérience utilisateur plus réactive. TensorFlow.js propose en outre des fonctionnalités hors ligne, permettant aux utilisateurs d'utiliser ton application même sans connexion Internet. TF.js est conçu pour l'exécution efficace de modèles complexes sur des appareils aux ressources limitées, car il est pensé pour l'évolutivité avec un support de l'accélération GPU.

Fonctionnalités clés de TF.js#

Voici les fonctionnalités clés qui font de TF.js un outil puissant pour les développeurs :

  • Support multiplateforme : TensorFlow.js peut être utilisé à la fois dans les navigateurs et les environnements Node.js, offrant une flexibilité de déploiement sur différentes plateformes. Il permet aux développeurs de créer et de déployer des applications plus facilement.

  • Support de multiples backends : TensorFlow.js prend en charge divers backends pour le calcul, notamment le CPU, WebGL pour l'accélération GPU, WebAssembly (WASM) pour une vitesse d'exécution quasi native, et WebGPU pour des capacités d'apprentissage automatique avancées basées sur le navigateur.

  • Capacités hors ligne : Avec TensorFlow.js, les modèles peuvent s'exécuter dans le navigateur sans avoir besoin d'une connexion internet, ce qui permet de développer des applications fonctionnelles hors ligne.

Options de déploiement avec TensorFlow.js#

Avant de nous plonger dans le processus d'exportation des modèles YOLO26 vers le format TF.js, explorons quelques scénarios de déploiement typiques où ce format est utilisé.

TF.js offre une gamme d'options pour déployer tes modèles d'apprentissage automatique :

  • Applications ML dans le navigateur : Tu peux créer des applications web qui exécutent des modèles d'apprentissage automatique directement dans le navigateur. Le besoin de calcul côté serveur est éliminé et la charge serveur est réduite.

  • Applications Node.js : TensorFlow.js prend également en charge le déploiement dans des environnements Node.js, permettant le développement d'applications d'apprentissage automatique côté serveur. C'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 : Un scénario de déploiement intéressant est la création d'extensions Chrome avec TensorFlow.js. Par exemple, tu peux développer une extension qui permet aux utilisateurs de faire un clic droit sur une image dans n'importe quelle page web pour la classer à l'aide d'un modèle ML pré-entraîné. TensorFlow.js peut être intégré dans les expériences de navigation web quotidiennes pour fournir des informations immédiates ou des augmentations basées sur l'apprentissage automatique.

Exporter des modèles YOLO26 vers TensorFlow.js#

Tu peux étendre la compatibilité des modèles et la flexibilité de déploiement en convertissant les modèles YOLO26 vers TF.js.

Installation#

Pour installer le package requis, exécute :

Installation
# Install the required package for YOLO26
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques relatives au processus d'installation, consultez notre guide d'installation Ultralytics. Si vous rencontrez des difficultés lors de l'installation des paquets requis pour YOLO26, consultez 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 dès leur sortie de la boîte, ce qui facilite leur intégration dans ton flux de travail de déploiement préféré. Tu peux consulter la liste complète des formats d'export pris en charge et des options de configuration 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 le parcours de déploiement actuel dans le navigateur et sur l'appareil.

Exporter (Export)
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 classification
Prédire et valider

Le 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#

ArgumentTypeDéfautDescription
formatstr'tfjs'Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement.
imgszint ou tuple640Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour des images carrées ou un tuple (height, width) pour des dimensions spécifiques.
quantizeint ou strNonePrécision de quantification : 8 (INT8 statique, poids int8 + activations int8 ; nécessite un étalonnage data/fraction), 'w8a16' (statique, poids int8 + activations int16 ; nécessite un étalonnage data/fraction), 'w8a32' (INT8 dynamique, poids int8 + activations FP32 ; aucun étalonnage nécessaire), ou 32/non défini (FP32). Le format FP16 n'est pas exporté séparément — un modèle FP32 s'exécute en FP16 automatiquement sur les délégués GPU. Remplace les indicateurs dépréciés half/int8.
batchint1Spécifie la taille d'inférence par lots du modèle exporté ou le nombre maximal d'images que le modèle exporté traitera simultanément en mode predict.
datastrNoneChemin d'accès au fichier YAML du jeu de données, essentiel pour la quantification ; la classification requiert quant à elle un répertoire de jeu de données ou un nom de jeu de données intégré. S'il est omis avec quantize=8 ou 'w8a16', Ultralytics sélectionne le jeu de données de calibrage par défaut pour la tâche du modèle.
fractionfloat, int ou list1.0Sous-ensemble de calibration sous forme de rapport, de nombre d'images ou de rapports/comptes [train, val] ; une liste limite train ou val, tandis que test reste complet.
devicestrNoneSpécifie l'appareil pour l'exportation : CPU (device=cpu), MPS pour Apple Silicon (device=mps).

Pour plus de détails sur le processus d'exportation, visite la page de documentation d'Ultralytics sur 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 le parcours actuel.

Pour référence, les ressources héritées de l'environnement d'exécution TensorFlow.js sont ci-dessous :

Résumé#

Dans ce guide, nous avons appris comment exporter des modèles Ultralytics YOLO26 au format TensorFlow.js. En exportant vers TF.js, tu gagnes en flexibilité pour optimiser, déployer et mettre à l'échelle tes modèles YOLO26 sur une large gamme de plateformes.

Pour plus de détails sur l'utilisation, visite 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 de guide d'intégration. Elle regorge d'excellentes ressources pour t'aider à tirer le meilleur parti de YOLO26 dans tes projets.

FAQ#

  • Exporter des modèles Ultralytics YOLO26 au format TensorFlow.js (TF.js) est simple. Tu peux suivre ces étapes :

    Utilisation
    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 classification
    
    # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.

    Pour plus de détails sur les options d'export prises en charge, visite la page de documentation d'Ultralytics sur les options de déploiement.

  • L'exportation des modèles YOLO26 vers TensorFlow.js offre plusieurs avantages, notamment :

    1. Exécution locale : Les modèles peuvent s'exécuter directement dans le navigateur ou Node.js, réduisant la latence et améliorant l'expérience utilisateur.
    2. Support multiplateforme : TF.js prend en charge plusieurs environnements, permettant une flexibilité dans le déploiement.
    3. Capacités hors ligne : Permet aux applications de fonctionner sans connexion internet, garantissant fiabilité et confidentialité.
    4. Accélération GPU : Tire parti de WebGL pour l'accélération GPU, optimisant les performances sur les appareils aux ressources limitées.
  • TensorFlow.js est spécifiquement conçu pour l'exécution efficace de modèles ML dans les navigateurs et les environnements Node.js. Voici comment il profite aux applications basées sur le navigateur :

    • Réduit la latence : Exécute les modèles d'apprentissage automatique localement, fournissant des résultats immédiats sans dépendre des calculs côté serveur.
    • Améliore la confidentialité : Garde les données sensibles sur l'appareil de l'utilisateur, minimisant les risques de sécurité.
    • Permet l'utilisation hors ligne : Les modèles peuvent fonctionner sans connexion internet, assurant une fonctionnalité cohérente.
    • Supporte plusieurs backends : Offre de la flexibilité avec des backends comme CPU, WebGL, WebAssembly (WASM) et WebGPU pour des besoins de calcul variés.

    Tu souhaites en savoir plus sur TF.js ? Consulte le guide officiel de TensorFlow.js.

  • Les fonctionnalités clés de TensorFlow.js incluent :

    • Support multiplateforme : TF.js peut être utilisé à la fois dans les navigateurs web et Node.js, offrant une grande flexibilité de déploiement.
    • Backends multiples : Prend en charge CPU, WebGL pour l'accélération GPU, WebAssembly (WASM) et WebGPU pour les opérations avancées.
    • Capacités hors ligne : Les modèles peuvent s'exécuter directement dans le navigateur sans connectivité internet, ce qui le rend idéal pour le développement d'applications web réactives.

    Pour les scénarios de déploiement et des informations plus approfondies, consulte notre section sur les options de déploiement avec TensorFlow.js.

  • Oui, TensorFlow.js permet le déploiement de modèles YOLO26 sur des environnements Node.js. Cela permet des applications d'apprentissage automatique côté serveur qui bénéficient de la puissance de traitement d'un serveur et de l'accès aux données côté serveur. Les cas d'utilisation typiques incluent le traitement de données en temps réel et les pipelines d'apprentissage automatique sur les serveurs backend.

    Pour débuter avec le déploiement sur Node.js, réfère-toi au guide Exécuter TensorFlow.js dans Node.js de TensorFlow.

Commentaires