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

Le déploiement de modèles de machine learning directement dans le navigateur ou sur Node.js peut être délicat. Tu devras t'assurer que ton format de modèle est optimisé pour de meilleures performances, afin que le modèle 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 utiliser un minimum d'énergie tout en offrant des performances rapides.

La fonctionnalité « exporter vers le format de modèle TF.js » te permet d'optimiser tes modèles Ultralytics YOLO26 pour une inférence de détection d'objets à haute vitesse et exécutée localement. Dans ce guide, nous te montrerons comment convertir tes modèles au format TF.js, facilitant ainsi leur bon fonctionnement sur divers navigateurs locaux et applications Node.js.

Pourquoi exporter vers 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 plus large, offre de nombreux avantages pour le déploiement d'applications de machine learning. Cela aide à renforcer la confidentialité et la sécurité des utilisateurs en conservant les données sensibles sur l'appareil. L'image ci-dessous montre l'architecture de TensorFlow.js, et comment les modèles de machine learning sont convertis et déployés à la fois sur les navigateurs web et sur Node.js.

TensorFlow.js browser ML inference architecture

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 capacités hors ligne, permettant aux utilisateurs d'utiliser ton application même sans connexion internet. TF.js est conçu pour une exécution efficace de modèles complexes sur des appareils aux ressources limitées, car il est pensé pour la scalabilité, avec un support pour 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 environnements de navigateur et Node.js, offrant une flexibilité de déploiement sur différentes plateformes. Cela 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 avancées de machine learning dans 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, rendant possible le développement d'applications fonctionnelles hors ligne.

Options de déploiement avec TensorFlow.js

Avant de 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 de machine learning :

  • Applications ML dans le navigateur : Tu peux créer des applications web qui exécutent des modèles de machine learning 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 de machine learning côté serveur. C'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 : 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 classifier en utilisant 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 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 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 liées au processus d'installation, consulte notre guide d'installation d'Ultralytics. Pendant l'installation des paquets requis pour YOLO26, si tu rencontres des difficultés, consulte notre guide des problèmes courants pour des solutions et astuces.

Utilisation

Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l'exportation dès la sortie de la boîte, ce qui facilite leur intégration dans 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 meilleure configuration pour ton application.

Utilisation
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")

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.
halfboolFalseActive la quantification FP16 (demi-précision), réduisant la taille du modèle et accélérant potentiellement l'inférence sur le matériel pris en charge.
int8boolFalseActive la quantification INT8, compressant davantage le modèle et accélérant l'inférence avec une perte de accuracy minimale, principalement pour les appareils en périphérie.
nmsboolFalseAjoute la suppression non maximale (NMS), essentielle pour un post-traitement de détection précis et efficace.
batchint1Spécifie la taille d'inférence par lot du modèle exporté ou le nombre maximal d'images que le modèle traitera simultanément en mode predict.
datastr'coco8.yaml'Chemin vers le fichier de configuration du dataset (par défaut : coco8.yaml), essentiel pour la quantification.
fractionfloat1.0Spécifie la fraction du jeu de données à utiliser pour la calibration de la quantification INT8. Permet d'effectuer la calibration sur un sous-ensemble du jeu de données complet, ce qui est utile pour les expérimentations ou lorsque les ressources sont limitées. S'il n'est pas spécifié avec INT8 activé, le jeu de données complet sera utilisé.
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 Ultralytics sur l'exportation.

Déployer des modèles YOLO26 TensorFlow.js exportés

Maintenant que tu as exporté ton modèle YOLO26 au format TF.js, l'étape suivante consiste à le déployer. La première étape principale et recommandée pour exécuter un modèle TF.js consiste à utiliser la méthode YOLO("./yolo26n_web_model"), comme illustré précédemment dans l'extrait de code d'utilisation.

Cependant, pour des instructions approfondies sur le déploiement de tes modèles TF.js, jette un œil aux ressources suivantes :

Résumé

Dans ce guide, nous avons appris comment exporter des modèles Ultralytics YOLO26 vers le 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

Comment exporter des modèles Ultralytics YOLO26 vers le format TensorFlow.js ?

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

Utilisation
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="tfjs")  # creates '/yolo26n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")

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

Pourquoi devrais-je exporter mes modèles YOLO26 vers TensorFlow.js ?

Exporter 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.

Pour un aperçu complet, consulte nos intégrations avec TensorFlow.js.

Comment TensorFlow.js profite-t-il aux applications de machine learning basées sur le navigateur ?

TensorFlow.js est spécifiquement conçu pour une exécution efficace des 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 de machine learning localement, fournissant des résultats immédiats sans dépendre de calculs côté serveur.
  • Améliore la confidentialité : Maintient les données sensibles sur l'appareil de l'utilisateur, minimisant les risques de sécurité.
  • Permet une utilisation hors ligne : Les modèles peuvent fonctionner sans connexion internet, garantissant une fonctionnalité cohérente.
  • Prend en charge plusieurs backends : Offre de la flexibilité avec des backends comme CPU, WebGL, WebAssembly (WASM) et WebGPU pour des besoins de calcul variés.

Intéressé pour en savoir plus sur TF.js ? Consulte le guide officiel TensorFlow.js.

Quelles sont les fonctionnalités clés de TensorFlow.js pour le déploiement de modèles YOLO26 ?

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 des 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 développer des applications web réactives.

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

Puis-je déployer un modèle YOLO26 sur des applications Node.js côté serveur en utilisant TensorFlow.js ?

Oui, TensorFlow.js permet le déploiement de modèles YOLO26 sur des environnements Node.js. Cela permet des applications de machine learning 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 de machine learning sur les serveurs backend.

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

Commentaires