Passer au contenu

Comprendre comment exporter au format TF SavedModel à partir de YOLO11

Le déploiement de modèles d'apprentissage automatique peut être difficile. Cependant, l'utilisation d'un format de modèle efficace et flexible peut vous faciliter la tâche. TF SavedModel est un framework 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 des modèles Ultralytics YOLO11 peut vous aider à déployer facilement des modèles sur différentes plateformes et environnements. Dans ce guide, nous allons vous expliquer comment convertir vos modèles au format TF SavedModel, ce qui simplifiera le processus d'exécution des 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 l'entraînement dans différents environnements.

TF SavedModel

Le 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 de modèles sur diverses plateformes, y compris les applications web et mobiles. Le format TF SavedModel est utile à la fois pour la recherche et la production. Il fournit une manière unifiée de gérer vos modèles, en s'assurant qu'ils sont prêts pour n'importe quelle application.

Principales caractéristiques des modèles 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 indépendant du langage, récupérable et hermétique. Ils permettent aux systèmes et outils de niveau supérieur de produire, consommer et transformer des modèles TensorFlow. Les SavedModels peuvent être facilement partagés et déployés sur différentes plateformes et 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 package. 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 incorporations ou les tables de consultation. Ces actifs sont stockés avec la définition du graphe et les variables, garantissant qu'ils sont disponibles lorsque le modèle est chargé. Cette fonctionnalité simplifie la gestion et la distribution des modèles qui reposent sur des ressources externes.

Options de déploiement avec TF SavedModel

Avant de nous plonger dans le processus d'exportation des modèles YOLO11 au 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 vos modèles d'apprentissage automatique :

  • TensorFlow Serving : TensorFlow Serving est un système de service flexible et à hautes performances conçu pour les environnements de production. Il prend en charge nativement les TF SavedModels, ce qui facilite le déploiement et le service de vos modèles sur les plateformes cloud, les serveurs sur site ou les appareils périphériques.

  • Plateformes Cloud : Les principaux fournisseurs de cloud comme Google Cloud Platform (GCP), Amazon Web Services (AWS) et Microsoft Azure offrent des services pour déployer et exécuter des modèles TensorFlow, y compris les TF SavedModels. Ces services fournissent une infrastructure évolutive et gérée, vous permettant de déployer et de mettre à l’échelle vos modèles facilement.

  • Appareils mobiles et embarqués : TensorFlow Lite, une solution légère pour exécuter des modèles d’apprentissage automatique sur des appareils mobiles, embarqués et IoT, prend en charge la conversion des SavedModels TF au format TensorFlow Lite. Cela vous permet de déployer vos modèles sur un large éventail d’appareils, des téléphones intelligents et des tablettes aux microcontrôleurs et aux appareils périphériques.

  • TensorFlow Runtime : TensorFlow Runtime (tfrt) est un environnement d'exécution haute performance pour exécuter TensorFlow graphes. Il fournit des API de niveau inférieur pour charger et exécuter des TF SavedModels dans des environnements C++. TensorFlow Runtime offre de meilleures performances par rapport au runtime TensorFlow standard. Il est adapté 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 facilitez leur déploiement sur diverses 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 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")
# Export a YOLO11n PyTorch model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'

# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='https://ultralytics.com/images/bus.jpg'

Arguments d'exportation

Argument Type Par défaut Description
format str 'saved_model' 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.
keras bool False Active l'exportation au format Keras, offrant une compatibilité avec TensorFlow serving et les API.
int8 bool False Active la quantification INT8, compressant davantage le modèle et accélérant l'inférence avec une perte de précision minimale, principalement pour les appareils périphériques.
nms bool False Ajoute la suppression non maximale (NMS), essentielle pour un post-traitement de détection précis et efficace.
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 SavedModel exportés

Maintenant que vous avez exporté votre modèle YOLO11 au format TF SavedModel, l'étape suivante consiste à le déployer. La première étape principale et recommandée pour exécuter un modèle TF SavedModel est d'utiliser le YOLO("yolo11n_saved_model/") méthode, comme indiqué précédemment dans l'extrait de code d'utilisation.

Cependant, pour des instructions détaillées sur le déploiement de vos modèles TF SavedModel, consultez les ressources suivantes :

  • TensorFlow Serving : Voici la documentation du développeur sur la façon de déployer vos modèles TF SavedModel à l'aide de TensorFlow Serving.

  • Exécuter un TensorFlow SavedModel dans Node.js : Un article de blog TensorFlow sur l'exécution d'un TensorFlow SavedModel dans Node.js directement sans conversion.

  • Déploiement sur le cloud : Un article de 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 YOLO11 au format TF SavedModel. En exportant vers TF SavedModel, vous gagnez la flexibilité d'optimiser, de déployer et de mettre à l'échelle vos modèles YOLO11 sur un large éventail de plateformes.

Pour plus de détails sur l'utilisation, consultez la documentation officielle de TF SavedModel.

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 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 au format TensorFlow SavedModel est simple. Vous pouvez utiliser python ou la CLI pour y parvenir :

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")
# Export the YOLO11 model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'

# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='https://ultralytics.com/images/bus.jpg'

Consultez la documentation d'exportation Ultralytics pour plus de détails.

Pourquoi devrais-je utiliser le format TensorFlow SavedModel ?

Le format TensorFlow SavedModel offre plusieurs avantages pour le déploiement de modèles:

  • Portabilité : Il offre un format indépendant du langage, facilitant le partage et le déploiement de modèles dans différents environnements.
  • Compatibilité : S’intègre parfaitement aux 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 simple et une continuation de la formation.

Pour plus d'avantages et d'options de déploiement, consultez les options de déploiement du modèle Ultralytics YOLO.

Quels sont les scénarios de déploiement typiques pour TF SavedModel ?

TF SavedModel peut être déployé dans divers environnements, notamment :

  • TensorFlow Serving : Idéal pour les environnements de production nécessitant une diffusion de modèles évolutive et à hautes performances.
  • Plateformes cloud: Prend en charge les principaux services cloud tels que Google Cloud Platform (GCP), Amazon Web Services (AWS) et Microsoft Azure pour un déploiement de modèle évolutif.
  • Appareils mobiles et embarqués : L’utilisation de TensorFlow Lite pour convertir les SavedModels TF permet le déploiement sur les appareils mobiles, les appareils IoT et les microcontrôleurs.
  • Runtime TensorFlow : 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 de modèles TensorFlow.

Comment puis-je installer les paquets nécessaires pour exporter les modèles YOLO11 ?

Pour exporter les modèles YOLO11, vous devez installer le ultralytics package. Exécutez la commande suivante dans votre terminal :

pip install ultralytics

Pour des instructions d'installation plus détaillées et les meilleures pratiques, consultez notre guide d'installation Ultralytics. Si vous rencontrez des problèmes, consultez notre guide des problèmes courants.

Quelles sont les principales caractéristiques du format TensorFlow SavedModel ?

Le format TF SavedModel est avantageux 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 package, ce qui simplifie le chargement et l'inférence.
  • Gestion des actifs : Prend en charge les actifs externes tels que les vocabulaires, en s'assurant qu'ils sont disponibles lorsque le modèle se charge.

Pour plus de détails, consultez la documentation officielle de TensorFlow.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 4 mois

Commentaires