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 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 tels que 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 tu as exporté ton modèle YOLOv8 au format TF GraphDef , l'étape suivante est le déploiement. La première étape recommandée pour exécuter un modèle TF GraphDef est d'utiliser la méthode 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.



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

Commentaires