Comprendre comment exporter au format TF SavedModel Ă partir de YOLOv8
Le déploiement de modèles d'apprentissage automatique peut s'avérer difficile. Cependant, l'utilisation d'un format de modèle efficace et flexible peut te faciliter la tâche. TF SavedModel est un cadre d'apprentissage automatique open-source utilisé par TensorFlow pour charger des modèles d'apprentissage automatique de manière cohérente. C'est comme une valise pour les modèles TensorFlow , ce qui les rend faciles à transporter et à utiliser sur différents appareils et systèmes.
Apprendre à exporter vers TF SavedModel à partir de Ultralytics YOLOv8 peut t'aider à déployer facilement des modèles sur différentes plateformes et dans différents environnements. Dans ce guide, nous verrons comment convertir tes modèles au format TF SavedModel , ce qui simplifiera le processus d'exécution des inférences avec tes modèles sur différents appareils.
Pourquoi exporter vers TF SavedModel ?
Le format TensorFlow SavedModel fait partie de l'écosystème TensorFlow développé par Google comme indiqué ci-dessous. Il est conçu pour sauvegarder et sérialiser les modèles TensorFlow de manière transparente. Il encapsule tous les détails des modèles tels que l'architecture, les poids et même les informations de compilation. Cela facilite le partage, le déploiement et la poursuite de la formation dans différents environnements.
Le TF SavedModel a un avantage clé : sa compatibilité. Il fonctionne bien avec TensorFlow Serving, TensorFlow Lite et TensorFlow.js. Cette compatibilité facilite le partage et le déploiement des modèles sur différentes plateformes, y compris les applications web et mobiles. Le format TF SavedModel est utile à la fois pour la recherche et la production. Il offre un moyen unifié de gérer tes modèles, ce qui garantit qu'ils sont prêts pour n'importe quelle application.
Caractéristiques principales de TF SavedModels
Voici les principales caractéristiques qui font de TF SavedModel une excellente option pour les développeurs d'IA :
-
Portabilité: TF SavedModel fournit un format de sérialisation hermétique, récupérable et neutre du point de vue du langage. Ils permettent aux systèmes et outils de niveau supérieur de produire, consommer et transformer les modèles TensorFlow . Les SavedModels peuvent être facilement partagés et déployés sur différentes plates-formes et dans différents environnements.
-
Facilité de déploiement: TF SavedModel regroupe le graphe de calcul, les paramètres entraînés et les métadonnées nécessaires en un seul paquet. Ils peuvent être facilement chargés et utilisés pour l'inférence sans nécessiter le code original qui a construit le modèle. Cela rend le déploiement des modèles TensorFlow simple et efficace dans divers environnements de production.
-
Gestion des actifs: TF SavedModel prend en charge l'inclusion d'actifs externes tels que les vocabulaires, les enchâssements ou les tables de consultation. Ces ressources sont stockées avec la définition du graphique et les variables, ce qui garantit qu'elles sont disponibles lorsque le modèle est chargé. Cette fonction simplifie la gestion et la distribution des modèles qui s'appuient sur des ressources externes.
Options de déploiement avec TF SavedModel
Avant de nous plonger dans le processus d'exportation des modèles YOLOv8 vers le format TF SavedModel , explorons quelques scénarios de déploiement typiques où ce format est utilisé.
TF SavedModel offre une gamme d'options pour déployer tes modèles d'apprentissage automatique :
-
TensorFlow Serving : TensorFlow Serving est un système de service flexible et performant conçu pour les environnements de production. Il prend nativement en charge TF SavedModels, ce qui facilite le déploiement et le service de tes modèles sur des plateformes cloud, des serveurs sur site ou des appareils périphériques.
-
Plateformes dans le nuage : Les principaux fournisseurs de cloud comme Google Cloud Platform (GCP), Amazon Web Services (AWS) et Microsoft Azure proposent des services pour déployer et exécuter des modèles TensorFlow , y compris TF SavedModels. Ces services fournissent une infrastructure évolutive et gérée, ce qui te permet de déployer et de faire évoluer tes modèles facilement.
-
Appareils mobiles et embarqués : TensorFlow Lite, une solution légère pour l'exécution de modèles d'apprentissage automatique sur des appareils mobiles, embarqués et IoT, prend en charge la conversion de TF SavedModels au format TensorFlow Lite. Cela te permet de déployer tes modèles sur une large gamme d'appareils, des smartphones et tablettes aux microcontrôleurs et appareils périphériques.
-
TensorFlow Duree: TensorFlow Autonomie (
tfrt
) est un environnement d’exécution hautes performances pour l’exécution TensorFlow Graphiques. Il fournit des API de niveau inférieur pour le chargement et l’exécution TF SavedModels dans les environnements C++. TensorFlow L’autonomie offre de meilleures performances par rapport à la norme TensorFlow Duree. Il convient aux scénarios de déploiement qui nécessitent une inférence à faible latence et une intégration étroite avec les bases de code C++ existantes.
Exporter les modèles YOLOv8 vers TF SavedModel
En exportant les modèles YOLOv8 au format TF SavedModel , tu améliores leur adaptabilité et leur facilité de déploiement sur diverses 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 SavedModel format
model.export(format="saved_model") # creates '/yolov8n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolov8n_saved_model")
# Run inference
results = tf_savedmodel_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 SavedModel
Maintenant que tu as exporté ton modèle YOLOv8 au format TF SavedModel , l'étape suivante consiste à le déployer. La première étape recommandée pour exécuter un modèle TF GraphDef est d'utiliser la méthode YOLO("./yolov8n_saved_model"), comme indiqué précédemment dans l'extrait de code d'utilisation.
Cependant, pour obtenir des instructions détaillées sur le déploiement de tes modèles TF SavedModel , jette un coup d'œil aux ressources suivantes :
-
TensorFlow Diffusion : voici la documentation du développeur sur la façon de déployer votre TF SavedModel modèles utilisant TensorFlow Portion.
-
Exécute TensorFlow SavedModel en Node.js: Un article de blog TensorFlow sur l'exécution d'un TensorFlow SavedModel dans Node.js directement sans conversion.
-
Déploiement dans le nuage: Un article du blog TensorFlow sur le déploiement d'un modèle TensorFlow SavedModel sur la plateforme Cloud AI.
Résumé
Dans ce guide, nous avons exploré comment exporter les modèles Ultralytics YOLOv8 au format TF SavedModel . En exportant vers TF SavedModel , 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 deTF SavedModel .
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.
FAQ
Comment exporter un modèle Ultralytics YOLO au format TensorFlow SavedModel ?
L'exportation d'un modèle Ultralytics YOLO vers le format TensorFlow SavedModel est très simple. Tu peux utiliser Python ou CLI pour y parvenir :
Exporter YOLOv8 vers TF SavedModel
from ultralytics import YOLO
# Load the YOLOv8 model
model = YOLO("yolov8n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolov8n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolov8n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
Reporte-toi à la documentation deUltralytics Export pour plus de détails.
Pourquoi devrais-je utiliser le format TensorFlow SavedModel ?
Le format TensorFlow SavedModel offre plusieurs avantages pour le déploiement des modèles :
- Portabilité : Il offre un format neutre sur le plan linguistique, ce qui facilite le partage et le déploiement des modèles dans différents environnements.
- Compatibilité : S'intègre parfaitement à des outils tels que TensorFlow Serving, TensorFlow Lite et TensorFlow.js, qui sont essentiels pour déployer des modèles sur diverses plateformes, y compris les applications web et mobiles.
- Encapsulation complète : Encode l'architecture du modèle, les poids et les informations de compilation, ce qui permet un partage direct et la poursuite de la formation.
Pour plus d'avantages et d'options de déploiement, consulte les options de déploiement du modèleUltralytics YOLO .
Quels sont les scénarios de déploiement typiques pour TF SavedModel ?
TF SavedModel peut être déployé dans divers environnements, notamment
- TensorFlow Servir : Idéal pour les environnements de production nécessitant un service de modèle évolutif et performant.
- Plateformes cloud : Prend en charge les principaux services de cloud comme Google Cloud Platform (GCP), Amazon Web Services (AWS) et Microsoft Azure pour le déploiement de modèles évolutifs.
- Appareils mobiles et embarqués : L'utilisation de TensorFlow Lite pour convertir TF SavedModels permet un déploiement sur les appareils mobiles, les appareils IoT et les microcontrôleurs.
- TensorFlow Exécution : Pour les environnements C++ nécessitant une inférence à faible latence avec de meilleures performances.
Pour des options de déploiement détaillées, consulte les guides officiels sur le déploiement des modèles TensorFlow .
Comment puis-je installer les paquets nécessaires pour exporter les modèles YOLOv8 ?
Pour exporter les modèles YOLOv8 , tu dois installer le logiciel ultralytics
paquet. Exécute la commande suivante dans ton terminal :
Pour des instructions d'installation plus détaillées et des bonnes pratiques, consulte notre guide d'installationUltralytics . Si tu rencontres des problèmes, consulte notre guide des problèmes courants.
Quelles sont les principales caractéristiques du format TensorFlow SavedModel ?
TF SavedModel est bénéfique pour les développeurs d'IA en raison des caractéristiques suivantes :
- Portabilité : Permet le partage et le déploiement dans divers environnements sans effort.
- Facilité de déploiement : Encapsule le graphe de calcul, les paramètres entraînés et les métadonnées dans un seul paquet, ce qui simplifie le chargement et l'inférence.
- Gestion des actifs : Prend en charge les actifs externes tels que les vocabulaires, en veillant à ce qu'ils soient disponibles lors du chargement du modèle.
Pour plus de détails, consulte la documentation officielle de TensorFlow .