Skip to content

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.

TensorFlow GraphDef

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 :

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 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")
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model=yolov8n.pt format=pb  # creates 'yolov8n.pb'

# Run inference with the exported model
yolo predict model='yolov8n.pb' 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é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")
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model="yolov8n.pt" format="pb"  # creates 'yolov8n.pb'

# Run inference with the exported model
yolo predict model="yolov8n.pb" source="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 :

  1. 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.
  2. 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.
  3. 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 :

  1. 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.
  2. 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.
  3. 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 à :

Ces ressources devraient t'aider à résoudre la plupart des problèmes liés à l'exportation et au déploiement du modèle YOLOv8 .



Créé le 2024-03-22, Mis à jour le 2024-07-05
Auteurs : glenn-jocher (5), RizwanMunawar (1), Burhan-Q (1), abirami-vina (1)

Commentaires