Comment exporter vers TF GraphDef à partir de YOLOv8 pour le déploiement ?
Lorsque tu déploies des modèles de vision artificielle de pointe, comme YOLOv8, dans différents environnements, tu peux rencontrer des problèmes de compatibilité. Google Le format de modèle TensorFlow GraphDef , ou TF GraphDef , offre une solution en fournissant une représentation sérialisée et indépendante de la plate-forme de ton modèle. En utilisant le format de modèle TF GraphDef , tu peux déployer ton modèle YOLOv8 dans des environnements où l'écosystème TensorFlow complet n'est pas disponible, comme les appareils mobiles ou le matériel spécialisé.
Dans ce guide, nous allons t'expliquer pas à pas comment exporter tes modèles au format . Ultralytics YOLOv8 vers le format de modèle TF GraphDef . En convertissant ton modèle, tu peux rationaliser le déploiement et utiliser les capacités de vision par ordinateur de YOLOv8 dans un plus grand nombre d'applications et de plateformes.
Pourquoi exporter vers TF GraphDef ?
TF GraphDef est un composant puissant de l'écosystème TensorFlow qui a été développé par Google. Il peut être utilisé pour optimiser et déployer des modèles comme YOLOv8. L'exportation vers TF GraphDef nous permet de faire passer les modèles de la recherche aux applications du monde réel. Il permet aux modèles de fonctionner dans des environnements sans le cadre complet de TensorFlow .
Le format GraphDef représente le modèle sous la forme d'un graphe de calcul sérialisé. Cela permet diverses techniques d'optimisation telles que le pliage constant, la quantification et les transformations de graphe. Ces optimisations garantissent une exécution efficace, une utilisation réduite de la mémoire et des vitesses d'inférence plus rapides.
GraphDef peuvent utiliser des accélérateurs matériels tels que les GPU, les TPU et les puces d'intelligence artificielle, ce qui permet de réaliser des gains de performance significatifs pour le pipeline d'inférence YOLOv8 . Le format TF GraphDef crée un paquet autonome avec le modèle et ses dépendances, ce qui simplifie le déploiement et l'intégration dans divers systèmes.
Caractéristiques principales des modèles TF GraphDef
TF GraphDef offre des caractéristiques distinctes pour rationaliser le déploiement et l'optimisation des modèles.
Voici un aperçu de ses principales caractéristiques :
-
Sérialisation des modèles: TF GraphDef fournit un moyen de sérialiser et de stocker les modèles TensorFlow dans un format indépendant de la plate-forme. Cette représentation sérialisée te permet de charger et d'exécuter tes modèles sans la base de code originale Python , ce qui facilite le déploiement.
-
Optimisation des graphes : TF GraphDef permet d'optimiser les graphes de calcul. Ces optimisations peuvent augmenter les performances en rationalisant le flux d'exécution, en réduisant les redondances et en adaptant les opérations à un matériel spécifique.
-
Flexibilité de déploiement: Les modèles exportés au format GraphDef peuvent être utilisés dans divers environnements, y compris les appareils à ressources limitées, les navigateurs Web et les systèmes dotés de matériel spécialisé. Cela ouvre des possibilités de déploiement plus large de tes modèles TensorFlow .
-
Production: GraphDef est conçu pour être déployé en production. Il prend en charge une exécution efficace, des fonctions de sérialisation et des optimisations qui s'alignent sur les cas d'utilisation du monde réel.
Options de déploiement avec TF GraphDef
Avant de nous plonger dans le processus d'exportation des modèles YOLOv8 vers TF GraphDef , examinons quelques situations de déploiement typiques où ce format est utilisé.
Voici comment tu peux déployer avec TF GraphDef de manière efficace sur différentes plateformes.
-
TensorFlow Servir : Ce cadre est conçu pour déployer les modèles TensorFlow dans des environnements de production. TensorFlow Serving offre la gestion des modèles, la gestion des versions et l'infrastructure pour un service de modèle efficace à l'échelle. C'est une façon transparente d'intégrer tes modèles basés sur GraphDef dans les services Web ou les API de production.
-
Appareils mobiles et embarqués : Avec des outils comme TensorFlow Lite, tu peux convertir les modèles TF GraphDef dans des formats optimisés pour les smartphones, les tablettes et divers appareils embarqués. Tes modèles peuvent ensuite être utilisés pour l'inférence sur l'appareil, où l'exécution se fait localement, ce qui permet souvent des gains de performance et des capacités hors ligne.
-
Navigateurs Web : TensorFlow.js permet de déployer des modèles TF GraphDef directement dans les navigateurs Web. Il ouvre la voie à des applications de détection d'objets en temps réel fonctionnant côté client, en utilisant les capacités de YOLOv8 par le biais de JavaScript.
-
Matériel spécialisé : TF La nature agnostique de la plate-formeGraphDef lui permet de cibler du matériel personnalisé, tel que des accélérateurs et des TPU (Tensor Processing Units). Ces appareils peuvent offrir des avantages en termes de performances pour les modèles à forte intensité de calcul.
Exporter les modèles YOLOv8 vers TF GraphDef
Tu peux convertir ton modèle de détection d'objets YOLOv8 au format TF GraphDef , qui est compatible avec différents systèmes, afin d'améliorer ses performances sur toutes les plateformes.
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 GraphDef format
model.export(format="pb") # creates 'yolov8n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolov8n.pb")
# Run inference
results = tf_graphdef_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éployer les modèles exportés YOLOv8 TF GraphDef
Une fois que vous avez exporté votre YOLOv8 modèle à la TF GraphDef , l’étape suivante est le déploiement. Première étape principale et recommandée pour exécuter un TF GraphDef est d’utiliser le modèle YOLO(« model.pb »), comme indiqué précédemment dans l’extrait de code d’utilisation.
Cependant, pour plus d'informations sur le déploiement de tes modèles TF GraphDef , jette un coup d'œil aux ressources suivantes :
-
TensorFlow Servir: Un guide sur TensorFlow Serving qui enseigne comment déployer et servir efficacement les modèles d'apprentissage automatique dans les environnements de production.
-
TensorFlow Lite: Cette page décrit comment convertir les modèles d'apprentissage automatique dans un format optimisé pour l'inférence sur l'appareil avec TensorFlow Lite.
-
TensorFlow.js: Un guide sur la conversion des modèles qui enseigne comment convertir les modèles TensorFlow ou Keras au format TensorFlow.js pour les utiliser dans les applications web.
Résumé
Dans ce guide, nous avons exploré comment exporter les modèles Ultralytics YOLOv8 au format TF GraphDef . En faisant cela, tu peux déployer de manière flexible tes modèles optimisés YOLOv8 dans différents environnements.
Pour plus de détails sur l'utilisation, consulte la documentation officielle deTF GraphDef .
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 contient d'excellentes ressources et des idées pour t'aider à tirer le meilleur parti de YOLOv8 dans tes projets.
FAQ
Comment exporter un modèle YOLOv8 au format TF GraphDef ?
Ultralytics YOLOv8 Les modèles peuvent être exportés au format TensorFlow GraphDef (TF GraphDef ) de façon transparente. Ce format fournit une représentation sérialisée et indépendante de la plateforme du modèle, idéale pour le déploiement dans des environnements variés comme le mobile et le web. Pour exporter un modèle YOLOv8 vers TF GraphDef , suis les étapes suivantes :
Utilisation
from ultralytics import YOLO
# Load the YOLOv8 model
model = YOLO("yolov8n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolov8n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolov8n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
Pour plus d'informations sur les différentes options d'exportation, consulte la documentationUltralytics sur l'exportation de modèles.
Quels sont les avantages de l'utilisation de TF GraphDef pour le déploiement du modèle YOLOv8 ?
L'exportation des modèles YOLOv8 vers le format TF GraphDef offre de multiples avantages, notamment :
- Indépendance de la plateforme : TF GraphDef fournit un format indépendant de la plateforme, permettant aux modèles d'être déployés dans divers environnements, y compris les navigateurs mobiles et web.
- Optimisations: Le format permet plusieurs optimisations, telles que le pliage de constantes, la quantification et les transformations de graphes, qui améliorent l'efficacité de l'exécution et réduisent l'utilisation de la mémoire.
- Accélération matérielle: Les modèles au format TF GraphDef peuvent exploiter les accélérateurs matériels tels que les GPU, les TPU et les puces d'IA pour obtenir des gains de performance.
Pour en savoir plus sur les avantages, consulte la sectionTF GraphDef de notre documentation.
Pourquoi devrais-je utiliser Ultralytics YOLOv8 plutôt que d'autres modèles de détection d'objets ?
Ultralytics YOLOv8 offre de nombreux avantages par rapport à d'autres modèles comme YOLOv5 et YOLOv7. Voici quelques-uns des principaux avantages :
- Performances de pointe: YOLOv8 offre une vitesse et une précision exceptionnelles pour la détection, la segmentation et la classification d'objets en temps réel.
- Facilité d'utilisation: Comprend une API conviviale pour la formation, la validation, la prédiction et l'exportation des modèles, ce qui la rend accessible aux débutants comme aux experts.
- Large compatibilité: Prend en charge plusieurs formats d'exportation, notamment ONNX, TensorRT, CoreML, et TensorFlow, pour des options de déploiement polyvalentes.
Explore plus de détails dans notre introduction à YOLOv8.
Comment puis-je déployer un modèle YOLOv8 sur du matériel spécialisé en utilisant TF GraphDef ?
Une fois qu'un modèle YOLOv8 est exporté au format TF GraphDef , tu peux le déployer sur diverses plates-formes matérielles spécialisées. Les scénarios de déploiement typiques sont les suivants :
- TensorFlow Serving: Utilise TensorFlow Serving pour le déploiement de modèles évolutifs dans les environnements de production. Il prend en charge la gestion des modèles et un service efficace.
- Appareils mobiles: Convertit les modèles TF GraphDef en TensorFlow Lite, optimisé pour les appareils mobiles et embarqués, permettant une inférence sur l'appareil.
- Navigateurs Web: Déploie des modèles à l'aide de TensorFlow.js pour l'inférence côté client dans les applications web.
- Accélérateurs d'IA: Exploite les TPU et les puces d'IA personnalisées pour une inférence accélérée.
Consulte la section des options de déploiement pour obtenir des informations détaillées.
Où puis-je trouver des solutions aux problèmes courants lors de l'exportation des modèles YOLOv8 ?
Pour résoudre les problèmes courants liés à l'exportation des modèles YOLOv8 , Ultralytics propose des guides et des ressources complets. Si tu rencontres des problèmes lors de l'installation ou de l'exportation de modèles, réfère-toi à :
- Guide des questions communes: Propose des solutions aux problèmes fréquemment rencontrés.
- Guide d'installation: Instructions étape par étape pour configurer les paquets nécessaires.
Ces ressources devraient t'aider à résoudre la plupart des problèmes liés à l'exportation et au déploiement du modèle YOLOv8 .