Comprendre comment exporter au format TF SavedModel depuis YOLO26#
Le déploiement de modèles d’apprentissage automatique peut s’avérer complexe. Cependant, l’utilisation d’un format de modèle efficace et flexible peut te simplifier la tâche. TF SavedModel est un framework open source d’apprentissage automatique utilisé par TensorFlow pour charger les modèles d’apprentissage automatique de manière cohérente. C’est comme une valise pour les modèles TensorFlow, qui permet de les transporter et de les utiliser facilement sur différents appareils et systèmes.
Apprendre à exporter des modèles Ultralytics YOLO26 au format TF SavedModel peut t’aider à déployer facilement tes modèles sur différentes plateformes et dans divers environnements. Dans ce guide, nous verrons comment convertir tes modèles au format TF SavedModel afin de simplifier l’exécution d’inférences avec tes modèles sur différents appareils.
Pourquoi exporter au format TF SavedModel ?#
Le format TensorFlow SavedModel fait partie de l’écosystème TensorFlow développé par Google, comme illustré ci-dessous. Il est conçu pour enregistrer et sérialiser les modèles TensorFlow de manière fluide. Il encapsule tous les détails des modèles, comme 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.
Le TF SavedModel présente un avantage majeur : sa compatibilité. Il fonctionne bien avec TensorFlow Serving, LiteRT (anciennement TensorFlow Lite) et TensorFlow.js. Cette compatibilité facilite le partage et le déploiement des modèles sur diverses plateformes, notamment les applications web et mobiles. Le format TF SavedModel est utile aussi bien pour la recherche que pour la production. Il offre une méthode unifiée de gestion de tes modèles, afin de garantir qu’ils sont prêts pour toute application.
Principales fonctionnalités de TF SavedModel#
Voici les principales fonctionnalités qui font de TF SavedModel une excellente option pour les développeurs en IA :
-
Portabilité : TF SavedModel fournit un format de sérialisation hermétique, récupérable et indépendant du langage. Il permet 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 dans divers 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. Il peut être facilement chargé et utilisé pour l’inférence sans nécessiter le code d’origine ayant servi à construire le modèle. Cela rend le déploiement des modèles TensorFlow simple et efficace dans divers environnements de production.
-
Gestion des ressources : TF SavedModel prend en charge l’inclusion de ressources externes telles que des vocabulaires, des embeddings ou des tables de correspondance. Ces ressources sont stockées avec la définition du graphe et les variables, ce qui garantit leur disponibilité lors du chargement du modèle. Cette fonctionnalité simplifie la gestion et la distribution des modèles qui dépendent de ressources externes.
Options de déploiement avec TF SavedModel#
Avant d’examiner le processus d’exportation des modèles YOLO26 au format TF SavedModel, explorons quelques scénarios de déploiement courants dans lesquels ce format est utilisé.
TF SavedModel offre plusieurs options pour déployer tes modèles d’apprentissage automatique :
-
TensorFlow Serving : TensorFlow Serving est un système de mise à disposition flexible et hautes performances, conçu pour les environnements de production. Il prend nativement en charge les TF SavedModels, ce qui facilite le déploiement et la mise à disposition de tes modèles sur des plateformes cloud, des serveurs sur site ou des appareils périphériques.
-
Plateformes cloud : Les principaux fournisseurs 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, notamment des TF SavedModels. Ces services fournissent une infrastructure évolutive et gérée, te permettant de déployer et de mettre à l’échelle facilement tes modèles.
-
Appareils mobiles et embarqués : LiteRT (anciennement 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 TF SavedModels au format LiteRT. Tu peux ainsi déployer tes modèles sur un large éventail d’appareils, des smartphones et tablettes aux microcontrôleurs et appareils périphériques.
-
TensorFlow Runtime : TensorFlow Runtime (
tfrt) est un environnement d’exécution hautes performances pour exécuter des graphes TensorFlow. 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 que l’environnement d’exécution TensorFlow standard. Il convient aux scénarios de déploiement nécessitant une inférence à faible latence et une intégration étroite avec des bases de code C++ existantes.
Tâches prises en charge#
L’exportation TF SavedModel prend en charge les sept tâches Ultralytics. La segmentation sémantique et l’estimation de profondeur sont disponibles uniquement avec YOLO26, la seule famille à proposer ces têtes.
| Tâche | YOLOv8 | YOLO11 | YOLO26 |
|---|---|---|---|
| Détection | ✅ | ✅ | ✅ |
| Segmentation | ✅ | ✅ | ✅ |
| Sémantique | ❌ | ❌ | ✅ |
| Profondeur | ❌ | ❌ | ✅ |
| Classification | ✅ | ✅ | ✅ |
| Pose | ✅ | ✅ | ✅ |
| OBB | ✅ | ✅ | ✅ |
Exporter des modèles YOLO26 au format TF SavedModel#
En exportant les modèles YOLO26 au format TF SavedModel, tu améliores leur adaptabilité et leur facilité de déploiement sur diverses plateformes.
Installation#
Pour installer le package requis, exécute :
# Install the required package for YOLO26
pip install ultralyticsPour obtenir des instructions détaillées et les bonnes pratiques relatives au processus d'installation, consulte notre guide d'installation Ultralytics. Si tu rencontres des difficultés lors de l'installation des packages requis pour YOLO26, consulte notre guide des problèmes courants pour trouver des solutions et des conseils.
Utilisation#
Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l’exportation directement, ce qui facilite leur intégration à ton workflow de déploiement préféré. Tu peux consulter la liste complète des formats d’exportation et des options de configuration pris en charge pour choisir la meilleure configuration pour ton application.
Le format TF SavedModel prend en charge les modes Export, Predict et Validate. Exporte ton modèle, puis charge le modèle exporté pour exécuter une inférence ou valider sa précision.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates 'yolo26n_saved_model'from ultralytics import YOLO
# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Arguments d'exportation#
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
format | str | 'saved_model' | Format cible du modèle exporté, définissant sa compatibilité avec différents 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 | Permet l’exportation au format Keras, offrant une compatibilité avec TensorFlow Serving et les API. |
quantize | int ou str | None | Précision de quantification : 8 (INT8/PTQ ; nécessite les données d’étalonnage data/fraction) ou 32/non défini (FP32). FP16 n’est pas pris en charge pour l’exportation SavedModel. Remplace l’option obsolète int8. |
opset | int | None | Spécifie la version de l’opset ONNX pour le graphe ONNX intermédiaire. Si elle n’est pas définie, la dernière version prise en charge est utilisée. |
nms | bool, optionnel | None | Sélectionne la sortie brute (None, par défaut), la NMS intégrée (True) ou la tête sans NMS (False). |
batch | int | 1 | Indique la taille du lot d'inférence du modèle exporté ou le nombre maximal d'images que le modèle exporté traitera simultanément en mode predict. |
data | str | None | Chemin vers le fichier YAML du jeu de données, essentiel pour la quantification ; la classification accepte plutôt un répertoire de jeu de données ou le nom d’un jeu de données intégré. Si ce chemin est omis avec quantize=8, Ultralytics sélectionne le jeu de données de calibration par défaut pour la tâche du modèle. |
fraction | float, int ou list | 1.0 | Sous-ensemble de calibration sous forme de ratio, de nombre d’images ou de ratios/nombres [train, val, test]. Les listes de deux éléments laissent test complet, tandis que 0 l’ignore. |
device | str | None | Indique l'appareil utilisé pour l'exportation : CPU (device=cpu), MPS pour le silicium Apple (device=mps). |
Pour plus de détails sur le processus d’exportation, consulte la page de la documentation Ultralytics consacrée à l’exportation.
Déployer les modèles TF SavedModel YOLO26 exportés#
Maintenant que tu as exporté ton modèle YOLO26 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 consiste à utiliser la méthode YOLO("yolo26n_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, consulte les ressources suivantes :
-
TensorFlow Serving : voici la documentation destinée aux développeurs expliquant comment déployer tes modèles TF SavedModel avec TensorFlow Serving.
-
Exécuter un TensorFlow SavedModel dans Node.js : un article du blog TensorFlow expliquant comment exécuter directement un TensorFlow SavedModel dans Node.js sans conversion.
-
Déployer dans le cloud : un article du blog TensorFlow expliquant comment déployer un modèle TensorFlow SavedModel sur la Cloud AI Platform.
Résumé#
Dans ce guide, nous avons vu comment exporter des modèles Ultralytics YOLO26 au format TF SavedModel. En exportant au format TF SavedModel, tu bénéficies de la flexibilité nécessaire pour optimiser, déployer et mettre à l’échelle tes modèles YOLO26 sur un large éventail de plateformes.
Pour plus de détails sur l’utilisation, consulte la documentation officielle de TF SavedModel.
Pour plus d’informations sur l’intégration d’Ultralytics YOLO26 avec d’autres plateformes et frameworks, n’oublie pas de consulter notre page du guide des intégrations. Elle regorge de ressources utiles pour tirer le meilleur parti de YOLO26 dans tes projets.
FAQ#
Le format TensorFlow SavedModel offre plusieurs avantages pour le déploiement de modèles :
- Portabilité : il fournit un format indépendant du langage, ce qui facilite le partage et le déploiement des modèles dans différents environnements.
- Compatibilité : il s’intègre parfaitement à des outils comme TensorFlow Serving, LiteRT et TensorFlow.js, essentiels au déploiement de modèles sur diverses plateformes, notamment les applications web et mobiles.
- Encapsulation complète : il encode l’architecture du modèle, les poids et les informations de compilation, ce qui facilite le partage et la poursuite de l’entraînement.
Pour découvrir d’autres avantages et options de déploiement, consulte les options de déploiement des modèles Ultralytics YOLO.
TF SavedModel peut être déployé dans divers environnements, notamment :
- TensorFlow Serving : idéal pour les environnements de production nécessitant une mise à disposition de modèles évolutive et hautes performances.
- Plateformes cloud : prend en charge les principaux services cloud comme Google Cloud Platform (GCP), Amazon Web Services (AWS) et Microsoft Azure pour un déploiement évolutif des modèles.
- Appareils mobiles et embarqués : l’utilisation de LiteRT (anciennement TensorFlow Lite) pour convertir les TF SavedModels permet un déploiement sur les appareils mobiles, les appareils IoT et les microcontrôleurs.
- TensorFlow Runtime : pour les environnements C++ nécessitant une inférence à faible latence et de meilleures performances.
Pour consulter les options de déploiement détaillées, visite les guides officiels sur le déploiement des modèles TensorFlow.
Pour exporter des modèles YOLO26, tu dois installer le paquet
ultralytics. Exécute la commande suivante dans ton terminal :pip install ultralyticsPour obtenir des instructions d’installation plus détaillées et connaître les bonnes pratiques, consulte notre guide d’installation Ultralytics. Si tu rencontres des problèmes, consulte notre guide des problèmes courants.
Le format TF SavedModel est avantageux pour les développeurs en IA grâce aux fonctionnalités suivantes :
- Portabilité : permet de partager et de déployer facilement des modèles dans divers environnements.
- 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 ressources : prend en charge les ressources externes telles que les vocabulaires, en garantissant leur disponibilité lors du chargement du modèle.
Pour plus de détails, consulte la documentation officielle de TensorFlow.
L’exportation d’un modèle Ultralytics YOLO au format TensorFlow SavedModel est simple. Tu peux utiliser Python ou la CLI pour y parvenir :
Consulte la documentation Ultralytics sur l’exportation pour plus de détails.