Skip to content

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

Déployer des modèles d'apprentissage automatique directement dans le navigateur ou sur Node.js peut s'avérer délicat. Tu devras t'assurer que le format de ton 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 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 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 diffĂ©rents backends pour les calculs, 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 d'apprentissage machine 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.



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

Commentaires