Comment exporter vers TF GraphDef depuis YOLO11 pour le déploiement
Lorsque vous déployez des modèles de vision par ordinateur de pointe, comme YOLO11, dans différents environnements, vous pouvez rencontrer des problèmes de compatibilité. Le TensorFlow GraphDef de Google, ou TF GraphDef, offre une solution en fournissant une représentation sérialisée et indépendante de la plateforme de votre modèle. En utilisant le format de modèle TF GraphDef, vous pouvez déployer votre modèle YOLO11 dans des environnements où l'écosystème TensorFlow complet peut ne pas être disponible, tels que les appareils mobiles ou le matériel spécialisé.
Dans ce guide, nous vous expliquerons étape par étape comment exporter vos modèles Ultralytics YOLO11 au format de modèle TF GraphDef. En convertissant votre modèle, vous pouvez rationaliser le déploiement et utiliser les capacités de vision par ordinateur de YOLO11 dans un plus large éventail d'applications et de plateformes.
Pourquoi exporter vers TF GraphDef ?
TF GraphDef est un composant puissant de l'écosystème TensorFlow développé par Google. Il peut être utilisé pour optimiser et déployer des modèles comme YOLO11. 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 l'ensemble du framework TensorFlow.
Le format GraphDef représente le modèle sous forme de graphe de calcul sérialisé. Cela permet diverses techniques d'optimisation telles que le repliement constant, la quantification et les transformations de graphes. Ces optimisations garantissent une exécution efficace, une utilisation réduite de la mémoire et des vitesses d'inférence plus rapides.
Les modèles GraphDef peuvent utiliser des accélérateurs matériels tels que les GPU, les TPU et les puces d'IA, ce qui permet d'améliorer considérablement les performances du pipeline d'inférence YOLO11. Le format TF GraphDef crée un package autonome contenant le modèle et ses dépendances, ce qui simplifie le déploiement et l'intégration dans divers systèmes.
Principales caractéristiques des modèles TF GraphDef
TF GraphDef offre des fonctionnalités distinctes pour rationaliser le déploiement et l'optimisation des modèles.
Voici un aperçu de ses principales caractéristiques :
-
Sérialisation de modèle : TF GraphDef fournit un moyen de sérialiser et de stocker les modèles TensorFlow dans un format indépendant de la plateforme. Cette représentation sérialisée vous permet de charger et d’exécuter vos modèles sans la base de code Python d’origine, ce qui facilite le déploiement.
-
Optimisation du graphe : TF GraphDef permet l'optimisation des graphes de calcul. Ces optimisations peuvent améliorer les performances en rationalisant le flux d'exécution, en réduisant les redondances et en adaptant les opérations aux matériels spécifiques.
-
Flexibilité de déploiement : Les modèles exportés au format GraphDef peuvent être utilisés dans divers environnements, y compris les appareils aux 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 vos modèles TensorFlow.
-
Priorité à la production : GraphDef est conçu pour le déploiement en production. Il prend en charge l'exécution efficace, les fonctionnalités de sérialisation et les optimisations qui s'alignent sur les cas d'utilisation réels.
Options de déploiement avec TF GraphDef
Avant de nous plonger dans le processus d'exportation des modèles YOLO11 vers TF GraphDef, examinons quelques situations de déploiement typiques où ce format est utilisé.
Voici comment déployer efficacement avec TF GraphDef sur diverses plateformes.
-
TensorFlow Serving : Ce framework est conçu pour déployer des modèles TensorFlow dans des environnements de production. TensorFlow Serving offre la gestion des modèles, le contrôle de version et l’infrastructure pour une diffusion efficace des modèles à l’échelle. C’est un moyen transparent d’intégrer vos modèles basés sur GraphDef dans des services Web ou des API de production.
-
Appareils mobiles et embarqués : Grâce à des outils tels que TensorFlow Lite, vous pouvez convertir des modèles TF GraphDef dans des formats optimisés pour les smartphones, les tablettes et divers appareils embarqués. Vos modèles peuvent ensuite être utilisés pour l'inférence sur l'appareil, où l'exécution se fait localement, offrant souvent des gains de performance et des capacités hors ligne.
-
Navigateurs Web : TensorFlow.js permet le déploiement de modèles TF GraphDef directement dans les navigateurs Web. Il ouvre la voie à des applications de détection d’objets en temps réel s’exécutant côté client, en utilisant les capacités de YOLO11 via JavaScript.
-
Matériel spécialisé : La nature agnostique de la plateforme de TF GraphDef 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 gourmands en calcul.
Exporter des modèles YOLO11 vers TF GraphDef
Vous pouvez convertir votre modèle de détection d'objets YOLO11 au format TF GraphDef, compatible avec divers systèmes, afin d'améliorer ses performances sur différentes plateformes.
Installation
Pour installer le paquet requis, exécutez :
Installation
# Install the required package for YOLO11
pip install ultralytics
Pour des instructions détaillées et les meilleures pratiques relatives au processus d'installation, consultez notre guide d'installation Ultralytics. Si vous rencontrez des difficultés lors de l'installation des packages requis pour YOLO11, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils.
Utilisation
Tous les modèles Ultralytics YOLO11 sont conçus pour prendre en charge l’exportation prête à l’emploi, ce qui facilite leur intégration à votre flux de travail de déploiement préféré. Vous pouvez consulter la liste complète des formats d’exportation et des options de configuration pris en charge pour choisir la meilleure configuration pour votre application.
Utilisation
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model=yolo11n.pt format=pb # creates 'yolo11n.pb'
# Run inference with the exported model
yolo predict model='yolo11n.pb' source='https://ultralytics.com/images/bus.jpg'
Arguments d'exportation
Argument | Type | Par défaut | Description |
---|---|---|---|
format |
str |
'pb' |
Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement. |
imgsz |
int ou tuple |
640 |
Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour les images carrées ou un tuple (height, width) pour des dimensions spécifiques. |
batch |
int |
1 |
Spécifie la taille du lot d'inférence du modèle d'exportation ou le nombre maximal d'images que le modèle exporté traitera simultanément en predict mode. |
device |
str |
None |
Spécifie le dispositif pour l'exportation : CPU (device=cpu ), MPS pour Apple Silicon (device=mps ). |
Pour plus de détails sur le processus d'exportation, consultez la page de la documentation Ultralytics sur l'exportation.
Déploiement de modèles YOLO11 TF GraphDef exportés
Une fois que vous avez exporté votre modèle YOLO11 au format TF GraphDef, l'étape suivante est le déploiement. La première étape principale et recommandée pour exécuter un modèle TF GraphDef consiste à 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 vos modèles TF GraphDef, consultez les ressources suivantes :
-
TensorFlow Serving : Un guide sur TensorFlow Serving qui explique comment déployer et servir efficacement des modèles d'apprentissage automatique dans des environnements de production.
-
TensorFlow Lite : Cette page décrit comment convertir des 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 de modèles qui explique comment convertir des modèles TensorFlow ou Keras au format TensorFlow.js pour une utilisation dans des applications Web.
Résumé
Dans ce guide, nous avons exploré comment exporter les modèles Ultralytics YOLO11 au format TF GraphDef. Ce faisant, vous pouvez déployer de manière flexible vos modèles YOLO11 optimisés dans différents environnements.
Pour plus de détails sur l'utilisation, consultez la documentation officielle de TF GraphDef.
Pour plus d'informations sur l'intégration d'Ultralytics YOLO11 avec d'autres plateformes et frameworks, n'oubliez pas de consulter notre page de guide d'intégration. Elle contient d'excellentes ressources et des informations précieuses pour vous aider à tirer le meilleur parti de YOLO11 dans vos projets.
FAQ
Comment exporter un modèle YOLO11 au format TF GraphDef ?
Les modèles Ultralytics YOLO11 peuvent être exportés de manière transparente au format TensorFlow GraphDef (TF GraphDef). 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 tels que le mobile et le web. Pour exporter un modèle YOLO11 vers TF GraphDef, suivez ces étapes :
Utilisation
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo11n.pb'
# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")
# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model="yolo11n.pt" format="pb" # creates 'yolo11n.pb'
# Run inference with the exported model
yolo predict model="yolo11n.pb" source="https://ultralytics.com/images/bus.jpg"
Pour plus d'informations sur les différentes options d'exportation, consultez la documentation Ultralytics sur l'exportation de modèles.
Quels sont les avantages de l'utilisation de TF GraphDef pour le déploiement de modèles YOLO11 ?
L'exportation des modèles YOLO11 au format TF GraphDef offre de nombreux 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 repliement constant, 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 des accélérateurs matériels tels que les GPU, les TPU et les puces d’IA pour améliorer les performances.
Pour en savoir plus sur les avantages, consultez la section TF GraphDef de notre documentation.
Pourquoi devrais-je utiliser Ultralytics YOLO11 plutôt que d'autres modèles de détection d'objets ?
Ultralytics YOLO11 offre de nombreux avantages par rapport à d'autres modèles tels que YOLOv5 et YOLOv7. Voici quelques avantages clés :
- Performance de pointe : YOLO11 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 : Dispose d'une API conviviale pour la formation, la validation, la prédiction et l'exportation de modèles, la rendant 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.
Explorez plus de détails dans notre introduction à YOLO11.
Comment puis-je déployer un modèle YOLO11 sur du matériel spécialisé à l'aide de TF GraphDef ?
Une fois qu'un modèle YOLO11 est exporté au format TF GraphDef, vous pouvez le déployer sur diverses plateformes matérielles spécialisées. Les scénarios de déploiement typiques incluent :
- TensorFlow Serving : Utilisez TensorFlow Serving pour un déploiement de modèles évolutif dans les environnements de production. Il prend en charge la gestion des modèles et la diffusion efficace.
- Appareils mobiles: Convertissez les modèles TF GraphDef en TensorFlow Lite, optimisés pour les appareils mobiles et embarqués, permettant l'inférence sur l'appareil.
- Navigateurs Web : Déployez des modèles à l’aide de TensorFlow.js pour l’inférence côté client dans les applications Web.
- Accélérateurs d'IA : Tirez parti des TPU et des puces d'IA personnalisées pour une inférence accélérée.
Consultez la section 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 de modèles YOLO11 ?
Ultralytics fournit des guides et des ressources complètes pour résoudre les problèmes courants liés à l'exportation des modèles YOLO11. Si vous rencontrez des problèmes lors de l'installation ou de l'exportation du modèle, consultez :
- Guide des problèmes courants : Offre des solutions aux problèmes fréquemment rencontrés.
- Guide d'installation : Instructions étape par étape pour la configuration des packages requis.
Ces ressources devraient vous aider à résoudre la plupart des problèmes liés à l'exportation et au déploiement des modèles YOLO11.