Comprendre comment exporter au format TF SavedModel Ă partir de YOLO11
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 vous 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. Il s'agit d'une sorte de valise pour les modèles TensorFlow , ce qui permet de les transporter et de les utiliser facilement sur différents appareils et systèmes.
Apprendre à exporter vers TF SavedModel des modèles peut vous aider à déployer facilement des modèles sur différentes plates-formes et dans différents environnements. Ultralytics YOLO11 peut vous aider à déployer facilement des modèles sur différentes plates-formes et dans différents environnements. Dans ce guide, nous verrons comment convertir vos modèles au format TF SavedModel , ce qui simplifiera le processus d'exécution d'inférences avec vos 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 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 site TF SavedModel présente 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 vos modèles, garantissant qu'ils sont prêts pour n'importe quelle application.
Principales caractéristiques 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 dans 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 des vocabulaires, des enchâssements ou des 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 fonctionnalité 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 YOLO11 vers le format TF SavedModel , explorons quelques scénarios de déploiement typiques dans lesquels ce format est utilisé.
TF SavedModel offre une série d'options pour déployer vos 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 vos modèles sur des plates-formes cloud, des serveurs sur site ou des périphériques.
-
Plateformes en nuage : Les principaux fournisseurs de services en nuage tels que Google Cloud Platform (GCP), Amazon Web Services (AWS) et Microsoft Azure proposent des services pour le déploiement et l'exécution de modèles TensorFlow , y compris TF SavedModels. Ces services fournissent une infrastructure évolutive et gérée, qui vous permet de déployer et d'adapter facilement vos modèles.
-
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 vous permet de déployer vos modèles sur une large gamme d'appareils, des smartphones et tablettes aux microcontrôleurs et appareils périphériques.
-
TensorFlow Durée d'exécution : TensorFlow Temps d'exécution (
tfrt
) est un moteur d'exécution très performant pour l'exécution de TensorFlow graphiques. Il fournit des API de niveau inférieur pour le chargement et l'exécution de TF SavedModels dans des environnements C++. TensorFlow Le runtime offre de meilleures performances que le runtime standard TensorFlow . 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.
Exportation des modèles YOLO11 vers TF SavedModel
En exportant les modèles YOLO11 au format TF SavedModel , vous améliorez leur adaptabilité et leur facilité de déploiement sur différentes plateformes.
Installation
Pour installer le paquetage requis, exécutez :
Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consultez notre guide d'installationUltralytics . Lors de l'installation des paquets requis pour YOLO11, si vous rencontrez des difficultés, consultez notre guide des problèmes courants pour obtenir 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 YOLO11 sont disponibles pour l'exportation, vous pouvez vous assurer que le modèle que vous sélectionnez prend en charge la fonctionnalité d'exportation ici.
Utilisation
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo11n_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, consultez la page de documentationUltralytics sur les options de déploiement.
Déploiement des modèles exportés YOLO11 TF SavedModel
Maintenant que vous avez exporté votre modèle YOLO11 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 consiste à utiliser la méthode YOLO("yolo11n_saved_model/"), comme indiqué précédemment dans l'extrait de code d'utilisation.
Toutefois, pour obtenir des instructions détaillées sur le déploiement de vos modèles TF SavedModel , consultez les ressources suivantes :
-
TensorFlow Servir: Voici la documentation destinée aux développeurs qui explique comment déployer vos modèles TF SavedModel à l'aide de TensorFlow Serving.
-
Exécuter un 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 Cloud AI Platform.
Résumé
Dans ce guide, nous avons exploré comment exporter les modèles Ultralytics YOLO11 vers le format TF SavedModel . En exportant vers TF SavedModel , vous gagnez en souplesse pour optimiser, déployer et mettre à l'échelle vos modèles YOLO11 sur un large éventail de plates-formes.
Pour plus de détails sur l'utilisation, consultez la documentation officielle deTF SavedModel .
Pour plus d'informations sur l'intégration de Ultralytics YOLO11 avec d'autres plateformes et frameworks, n'oubliez pas de consulter notre page de guide d'intégration. Elle regorge d'excellentes ressources pour vous aider à tirer le meilleur parti de YOLO11 dans vos 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 simple. Pour ce faire, vous pouvez utiliser Python ou CLI :
Exportation de YOLO11 vers TF SavedModel
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
Pour plus de détails, consultez la documentation deUltralytics Export.
Pourquoi utiliser le format TensorFlow SavedModel ?
Le format TensorFlow SavedModel offre plusieurs avantages pour le déploiement des modèles:
- Portabilité : Il fournit 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 plates-formes, y compris des applications web et mobiles.
- Encapsulation complète : Encapsule 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, consultez 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 Service : Idéal pour les environnements de production nécessitant un service de modèle évolutif et performant.
- Plates-formes en nuage : Prend en charge les principaux services en nuage tels que 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 des appareils mobiles, des appareils IoT et des 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, consultez les guides officiels sur le déploiement des modèles TensorFlow .
Comment puis-je installer les paquets nécessaires à l'exportation des modèles YOLO11 ?
Pour exporter les modèles YOLO11 , vous devez installer le logiciel ultralytics
paquet. Exécutez la commande suivante dans votre terminal :
Pour des instructions d'installation plus détaillées et les meilleures pratiques, consultez notre guide d'installationUltralytics . Si vous rencontrez des problèmes, consultez 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 différents environnements sans effort.
- Facilité de déploiement : Encapsule le graphe de calcul, les paramètres d'apprentissage 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, consultez la documentation officielle de TensorFlow .