Skip to content

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 enregistrer et sérialiser les modèles TensorFlow de manière transparente. Il encapsule les détails complets 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.

TF SavedModel

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 Runtime: TensorFlow Runtime (tfrt) is a high-performance runtime for executing TensorFlow graphs. It provides lower-level APIs for loading and running TF SavedModels in C++ environments. TensorFlow Runtime offers better performance compared to the standard TensorFlow runtime. It is suitable for deployment scenarios that require low-latency inference and tight integration with existing C++ codebases.

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 :

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

# Run inference with the exported model
yolo predict model='./yolov8n_saved_model' 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 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 :

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.



Created 2024-03-23, Updated 2024-06-10
Authors: glenn-jocher (4), Burhan-Q (1), abirami-vina (1)

Commentaires