Comprends comment exporter au format TF SavedModel depuis YOLO26

Le déploiement de modèles de machine learning peut s'avérer complexe. Cependant, l'utilisation d'un format de modèle efficace et flexible peut te faciliter la tâche. TF SavedModel est un framework de machine learning open-source utilisé par TensorFlow pour charger des modèles 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 depuis des modèles Ultralytics YOLO26 peut t'aider à déployer tes modèles facilement sur différentes plateformes et environnements. Dans ce guide, nous verrons comment convertir tes modèles au format TF SavedModel, simplifiant ainsi le processus d'exécution des inférences sur différents appareils.

Pourquoi devrais-tu exporter vers 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 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 rend le partage, le déploiement et la poursuite de l'entraînement dans différents environnements très simples.

TensorFlow SavedModel export format structure

Le TF SavedModel présente un avantage clé : sa compatibilité. Il fonctionne parfaitement 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 offre une manière unifiée de gérer tes modèles, garantissant qu'ils sont prêts pour toute application.

Fonctionnalités clés des TF SavedModels

Voici les fonctionnalités clés qui font de TF SavedModel une excellente option pour les développeurs 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 plus haut niveau 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 des vocabulaires, des embeddings ou des tables de correspondance. Ces actifs sont stockés aux côtés de la définition du graphe et des variables, garantissant qu'ils sont disponibles lors du chargement du modèle. 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 plonger dans le processus d'exportation des modèles YOLO26 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 de machine learning :

  • 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 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 de périphérie.

  • Plateformes Cloud : 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 les TF SavedModels. Ces services fournissent une infrastructure évolutive et gérée, te permettant de déployer et de mettre à l'échelle tes modèles facilement.

  • Appareils mobiles et embarqués : TensorFlow Lite, une solution légère pour exécuter des modèles de machine learning sur des appareils mobiles, embarqués et IoT, prend en charge la conversion des TF SavedModels vers le 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 de périphérie.

  • TensorFlow Runtime : TensorFlow Runtime (tfrt) est un runtime haute performance pour l'exécution de graphes TensorFlow. Il fournit des API de bas niveau 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 nécessitant une inférence à faible latence et une intégration étroite avec des bases de code C++ existantes.

Exporter des modèles YOLO26 vers TF SavedModel

En exportant les modèles YOLO26 vers le 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 :

Installation
# Install the required package for YOLO26
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consulte notre guide d'installation d'Ultralytics. Pendant l'installation des paquets requis pour YOLO26, si tu rencontres des difficultés, consulte notre guide des problèmes courants pour des solutions et astuces.

Utilisation

Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l'exportation dès la sortie de la boîte, ce qui facilite leur intégration dans ton flux de déploiement préféré. Tu peux consulter la liste complète des formats d'exportation pris en charge et des options de configuration pour choisir la meilleure configuration pour ton application.

Utilisation
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolo26n_saved_model'

# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo26n_saved_model")

# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")

Arguments d'exportation

ArgumentTypeDéfautDescription
formatstr'saved_model'Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement.
imgszint ou tuple640Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour des images carrées ou un tuple (height, width) pour des dimensions spécifiques.
kerasboolFalsePermet l'exportation vers le format Keras, offrant une compatibilité avec TensorFlow serving et ses API.
int8boolFalseActive la quantification INT8, compressant davantage le modèle et accélérant l'inférence avec une perte de accuracy minimale, principalement pour les appareils en périphérie.
nmsboolFalseAjoute la suppression non maximale (NMS), essentielle pour un post-traitement de détection précis et efficace.
batchint1Spécifie la taille d'inférence par lot du modèle exporté ou le nombre maximal d'images que le modèle traitera simultanément en mode predict.
datastr'coco8.yaml'Chemin vers le fichier de configuration du dataset (par défaut : coco8.yaml), essentiel pour la quantification.
fractionfloat1.0Spécifie la fraction du jeu de données à utiliser pour la calibration de la quantification INT8. Permet d'effectuer la calibration sur un sous-ensemble du jeu de données complet, ce qui est utile pour les expérimentations ou lorsque les ressources sont limitées. S'il n'est pas spécifié avec INT8 activé, le jeu de données complet sera utilisé.
devicestrNoneSpécifie l'appareil pour l'exportation : CPU (device=cpu), MPS pour Apple silicon (device=mps).

Pour plus de détails sur le processus d'exportation, visite la page de documentation Ultralytics sur l'exportation.

Déployer des modèles YOLO26 exportés au format TF SavedModel

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 est d'utiliser la méthode YOLO("yolo26n_saved_model/"), comme montré précédemment dans l'extrait de code d'utilisation.

Cependant, pour des instructions détaillées sur le déploiement de tes modèles TF SavedModel, jette un œil aux ressources suivantes :

Résumé

Dans ce guide, nous avons exploré comment exporter des modèles Ultralytics YOLO26 vers le format TF SavedModel. En exportant vers TF SavedModel, tu gagnes en flexibilité pour optimiser, déployer et mettre à l'échelle tes modèles YOLO26 sur une large gamme de plateformes.

Pour plus de détails sur l'utilisation, visite 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 de guide d'intégration. Elle regorge d'excellentes ressources pour t'aider à tirer le meilleur parti de YOLO26 dans tes projets.

FAQ

Comment exporter un modèle Ultralytics YOLO vers le format TensorFlow SavedModel ?

Exporter un modèle Ultralytics YOLO vers le format TensorFlow SavedModel est simple. Tu peux utiliser soit Python, soit la CLI pour y parvenir :

Exporter YOLO26 vers TF SavedModel
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates '/yolo26n_saved_model'

# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")

Consulte 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 fournit 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 avec des outils comme TensorFlow Serving, TensorFlow Lite et TensorFlow.js, 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, permettant un partage facile et la poursuite de l'entraînement.

Pour plus d'avantages et d'options de déploiement, consulte les options de déploiement de modèles 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 un service de modèles évolutif et performant.
  • 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 de modèles évolutif.
  • Appareils mobiles et embarqués : L'utilisation de TensorFlow Lite pour convertir des TF SavedModels permet un déploiement sur des appareils mobiles, des appareils IoT et des microcontrôleurs.
  • TensorFlow Runtime : Pour les environnements C++ nécessitant une inférence à faible latence avec de meilleures performances.

Pour des options de déploiement détaillées, visite les guides officiels sur le déploiement de modèles TensorFlow.

Comment puis-je installer les packages nécessaires pour exporter des modèles YOLO26 ?

Pour exporter des modèles YOLO26, tu dois installer le package ultralytics. Exécute la commande suivante dans ton terminal :

pip install ultralytics

Pour des instructions d'installation plus détaillées et les meilleures pratiques, réfère-toi à notre guide d'installation Ultralytics. Si tu rencontres des problèmes, consulte notre guide des problèmes courants.

Quelles sont les fonctionnalités clés du format TensorFlow SavedModel ?

Le format TF SavedModel est bénéfique pour les développeurs IA grâce aux fonctionnalités suivantes :

  • Portabilité : Permet un partage et un déploiement sans effort 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 package, ce qui simplifie le chargement et l'inférence.
  • Gestion des actifs : Prend en charge les actifs externes comme les vocabulaires, garantissant qu'ils sont disponibles lors du chargement du modèle.

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

Commentaires