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.
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 :
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')
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 :
-
Extension Chrome: Voici la documentation du développeur pour savoir comment déployer tes modèles TF.js dans une extension Chrome.
-
Exécute TensorFlow.js dans Node.js: Un article du blog TensorFlow sur l'exécution directe de TensorFlow.js dans Node.js.
-
Déploiement de TensorFlow.js - Projet Node sur la plateforme Cloud: Un article du 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 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.