Skip to content

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

Le déploiement de modèles de machine learning directement dans le navigateur ou sur Node.js peut s’avérer délicat. Vous devez vous assurer que le format de votre modèle est optimisé pour des performances plus rapides afin que le modèle puisse être utilisé pour exécuter des applications interactives localement sur l’appareil de l’utilisateur. Le TensorFlow.js, ou TF.js, le format du modèle est conçu pour utiliser un minimum d’énergie tout en offrant des performances rapides.

La fonction "export to TF.js model format" te permet d'optimiser tes modèles pour l'inférence de détection d'objets à grande vitesse et exécutée localement. Ultralytics YOLOv8 pour l'inférence de détection d'objets à grande vitesse et exécutée localement. Dans ce guide, nous t'aiderons à convertir tes modèles au format TF.js, ce qui facilitera les performances de tes modèles sur divers navigateurs locaux et applications Node.js.

Pourquoi exporter vers 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 plus large TensorFlow , offre de nombreux avantages pour le déploiement d'applications d'apprentissage automatique. Il permet d'améliorer 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 la façon dont les modèles d'apprentissage automatique sont convertis et déployés à la fois sur les navigateurs web et sur Node.js.

TFArchitecture .js

L'exécution locale des modèles permet également de réduire la latence et d'offrir une expérience utilisateur plus réactive. TensorFlow.js est également doté de capacités hors ligne, ce qui permet 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 conçu pour l'évolutivité, avec la prise en charge de 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Ă© Ă  la fois dans un navigateur et dans un environnement Node.js, ce qui offre une grande souplesse 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 pour les calculs, notamment 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 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 YOLOv8 au format TF.js, explorons quelques scénarios de déploiement typiques où ce format est utilisé.

TF.js propose une série 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 du serveur est rĂ©duite.

  • 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. Il est particulièrement utile pour les applications qui nĂ©cessitent la puissance de traitement 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 d'apprentissage automatique prĂ©-entraĂ®nĂ©. TensorFlow.js peut ĂŞtre intĂ©grĂ© dans les expĂ©riences quotidiennes de navigation sur le Web pour fournir des informations immĂ©diates ou des augmentations basĂ©es sur l'apprentissage automatique.

Exportation des modèles YOLOv8 vers TensorFlow.js

Tu peux étendre la compatibilité des modèles et la flexibilité du déploiement en convertissant les modèles YOLOv8 en TF.js.

Installation

Pour installer le paquetage requis, exécute :

Installation

# Install the required package for YOLOv8
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consulte notre guide d'installationUltralytics . Pendant l'installation des paquets requis pour YOLOv8, si tu rencontres des difficultés, consulte notre guide des problèmes courants pour trouver des solutions et des conseils.

Utilisation

Avant de plonger dans les instructions d'utilisation, il est important de noter que si tous les modèlesUltralytics YOLOv8 sont disponibles pour l'exportation, tu peux t'assurer que le modèle que tu as choisi prend en charge la fonctionnalité d'exportation ici.

Utilisation

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' source='https://ultralytics.com/images/bus.jpg'

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

Déploiement des modèles exportés YOLOv8 TensorFlow .js

Maintenant que tu as exporté ton modèle YOLOv8 au format TF.js, l'étape suivante consiste à le déployer. La première étape principale et recommandée pour exécuter un TF.js est d'utiliser la méthode YOLO("./yolov8n_web_model "), comme indiqué 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 coup d'œil aux ressources suivantes :

Résumé

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

Pour plus de détails sur l'utilisation, consulte la documentation officielle deTensorFlow.js.

Pour plus d'informations sur l'intégration de Ultralytics YOLOv8 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 YOLOv8 dans tes projets.

FAQ

Comment exporter les modèles Ultralytics YOLOv8 au format TensorFlow.js ?

L'exportation des modèles Ultralytics YOLOv8 au format TensorFlow.js (TF.js) est simple. Tu peux suivre les étapes suivantes :

Utilisation

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

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

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

# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF.js format
yolo export model=yolov8n.pt format=tfjs  # creates '/yolov8n_web_model'

# Run inference with the exported model
yolo predict model='./yolov8n_web_model' source='https://ultralytics.com/images/bus.jpg'

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

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

L'exportation des modèles YOLOv8 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, ce qui permet de réduire la latence et d'améliorer l'expérience de l'utilisateur.
  2. Prise en charge multiplateforme : TF.js prend en charge plusieurs environnements, ce qui permet une certaine flexibilité dans le déploiement.
  3. Capacités hors ligne : Permet aux applications de fonctionner sans connexion Internet, ce qui garantit la fiabilité et la confidentialité.
  4. GPU Accélération : Exploite WebGL pour l'accélération GPU , optimisant ainsi les performances sur les appareils aux ressources limitées.

Pour un aperçu complet, voir notre rubrique Intégrations avec TensorFlow.js.

Quels sont les avantages de TensorFlow.js pour les applications d'apprentissage automatique basées sur un navigateur ?

TensorFlow.js est spécialement 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 les navigateurs :

  • RĂ©duit le temps de latence : ExĂ©cute les modèles d'apprentissage automatique localement, ce qui permet d'obtenir des rĂ©sultats immĂ©diats sans dĂ©pendre des calculs cĂ´tĂ© serveur.
  • AmĂ©liore la confidentialitĂ© : Conserve les donnĂ©es sensibles sur l'appareil de l'utilisateur, ce qui minimise les risques de sĂ©curitĂ©.
  • Permet une utilisation hors ligne : Les modèles peuvent fonctionner sans connexion internet, ce qui garantit une fonctionnalitĂ© constante.
  • 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.

Tu veux en savoir plus sur TF.js ? Jette un coup d'Ĺ“il au guide officiel TensorFlow.js.

Quelles sont les principales caractéristiques de TensorFlow.js pour déployer les modèles YOLOv8 ?

Les principales caractéristiques de TensorFlow.js sont les suivantes :

  • Prise en charge multiplateforme : TF.js peut ĂŞtre utilisĂ© Ă  la fois dans les navigateurs web et dans Node.js, ce qui offre une grande souplesse de dĂ©ploiement.
  • Plusieurs backends : Prend en charge CPU, WebGL pour l'accĂ©lĂ©ration de 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 dĂ©velopper des 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.

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

Oui, TensorFlow.js permet le déploiement de modèles YOLOv8 sur des environnements Node.js. Cela permet de créer 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 comprennent le traitement des données en temps réel et les pipelines d'apprentissage automatique sur les serveurs dorsaux.

Pour commencer à déployer Node.js, consulte le guide Run TensorFlow.js in Node.j s sur TensorFlow.



Créé le 2024-04-03, Mis à jour le 2024-07-05
Auteurs : glenn-jocher (6), abirami-vina (1)

Commentaires