YOLO Vision 2026 :

Exportation de modèles YOLO26 vers TorchScript pour un déploiement rapide#

PyTorch abandonne TorchScript

PyTorch a deprecated TorchScript et supprime progressivement ses fonctionnalités. Pour les nouveaux déploiements mobiles et sur les appareils de périphérie, utilise l'intégration prise en charge ExecuTorch integration. Ultralytics conserve l'exportation TorchScript standard pour la compatibilité avec les anciens environnements C++.

Le déploiement de modèles de computer vision dans des environnements C++ sans Python nécessite une représentation sérialisée portable. TorchScript offre cette compatibilité pour les applications LibTorch existantes.

Exporte vers TorchScript pour sérialiser tes modèles Ultralytics YOLO26 afin d'assurer une compatibilité multiplateforme et un déploiement simplifié. Dans ce guide, nous te montrons comment exporter tes modèles YOLO26 au format TorchScript, facilitant ainsi leur utilisation dans un plus grand nombre d'applications.

Pourquoi exporter vers TorchScript ?#

TorchScript model serialization and deployment workflow overview

Développé par les créateurs de PyTorch, TorchScript est un outil puissant pour optimiser et déployer des modèles PyTorch sur une variété de plateformes. L'exportation de modèles YOLO26 vers TorchScript est essentielle pour passer de la recherche aux applications concrètes. Faisant partie du framework PyTorch, TorchScript contribue à fluidifier cette transition en permettant d'utiliser des modèles PyTorch dans des environnements qui ne prennent pas en charge Python.

Le processus implique deux techniques : le tracing et le scripting. Le tracing enregistre les opérations pendant l'exécution du modèle, tandis que le scripting permet de définir des modèles en utilisant un sous-ensemble de Python. Ces techniques garantissent que des modèles comme YOLO26 peuvent toujours opérer leur magie même en dehors de leur environnement Python habituel.

TorchScript scripting vs tracing comparison

Les modèles TorchScript peuvent également être optimisés grâce à des techniques telles que la fusion d'opérateurs et l'affinement de l'utilisation de la mémoire, garantissant une exécution efficace. Un autre avantage de l'exportation vers TorchScript est son potentiel à accélérer l'exécution des modèles sur diverses plateformes matérielles. Il crée une représentation autonome et prête pour la production de ton modèle PyTorch qui peut être intégrée dans des environnements C++.

Caractéristiques clés des modèles TorchScript#

TorchScript, élément clé de l'écosystème PyTorch, offre des fonctionnalités puissantes pour optimiser et déployer des modèles de deep learning.

TorchScript key features overview

Voici les fonctionnalités clés qui font de TorchScript un outil précieux pour les développeurs :

  • Exécution par graphe statique : TorchScript utilise une représentation par graphe statique du calcul du modèle, ce qui diffère de l'exécution par graphe dynamique de PyTorch. Dans l'exécution par graphe statique, le graphe de calcul est défini et compilé une fois avant l'exécution réelle, ce qui améliore les performances pendant l'inférence.

  • Sérialisation de modèle : TorchScript te permet de sérialiser des modèles PyTorch dans un format indépendant de la plateforme. Les modèles sérialisés peuvent être chargés sans nécessiter le code Python original, permettant un déploiement dans différents environnements d'exécution.

  • Compilation JIT : TorchScript utilise la compilation Just-In-Time (JIT) pour convertir les modèles PyTorch en une représentation intermédiaire optimisée. Le JIT compile le graphe de calcul du modèle, permettant une exécution efficace sur les appareils cibles.

  • Conversion graduelle : TorchScript propose une approche de conversion graduelle, te permettant de convertir progressivement des parties de ton modèle PyTorch en TorchScript. Cette flexibilité est particulièrement utile lorsque tu travailles avec des modèles complexes ou que tu souhaites optimiser des portions spécifiques du code.

Options de déploiement dans TorchScript#

Avant de regarder le code pour exporter des modèles YOLO26 vers le format TorchScript, comprenons où les modèles TorchScript sont normalement utilisés.

TorchScript propose diverses options de déploiement pour les modèles de machine learning, telles que :

  • C++ API : Le cas d'utilisation le plus courant pour TorchScript est son LibTorch C++ API, qui te permet de charger et d'exécuter des modèles TorchScript optimisés directement dans des applications C++. C'est idéal pour les environnements de production où Python peut ne pas convenir ou être disponible. L'API C++ offre une exécution légère et efficace des modèles TorchScript, maximisant ainsi le potentiel de performance.

  • Mobile Deployment : Pour une inférence hors ligne à faible latence et la data privacy sur les appareils mobiles, utilise ExecuTorch, le remplaçant de TorchScript Mobile proposé par PyTorch.

  • Déploiement Cloud : Les modèles TorchScript peuvent être déployés sur des serveurs basés dans le cloud en utilisant des solutions comme TorchServe. Il offre des fonctionnalités telles que le versionnage des modèles, le traitement par lots et le suivi des métriques pour un déploiement évolutif dans les environnements de production. Le déploiement dans le cloud avec TorchScript peut rendre tes modèles accessibles via des API ou d'autres services web.

Tâches prises en charge#

L'exportation TorchScript prend en charge l'ensemble des sept t ches Ultralytics. La segmentation sémantique et l'estimation de la profondeur ne sont disponibles qu'avec YOLO26, la seule famille qui intègre ces têtes.

TâcheYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

Exporter vers TorchScript : Convertir ton modèle YOLO26#

Exporter des modèles YOLO26 vers TorchScript facilite leur utilisation dans différents endroits et les aide à fonctionner plus rapidement et plus efficacement. C'est idéal pour quiconque cherche à utiliser des modèles de deep learning plus efficacement dans des applications réelles.

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 relatives au processus d'installation, consultez notre guide d'installation Ultralytics. Si vous rencontrez des difficultés lors de l'installation des paquets requis pour YOLO26, consultez 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 dès leur sortie de la boîte, ce qui facilite leur intégration dans ton flux de travail de déploiement préféré. Tu peux consulter la liste complète des formats d'export pris en charge et des options de configuration pour choisir la meilleure configuration pour ton application.

Le format TorchScript prend en charge les modes Export, Predict et Validate. Exporte ton modèle, puis charge-le pour exécuter une inférence ou valider sa précision.

Exporter (Export)
from ultralytics import YOLO

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

# Export the model to TorchScript format
model.export(format="torchscript")  # creates 'yolo26n.torchscript'
Prédire (Predict)
from ultralytics import YOLO

# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Valider
from ultralytics import YOLO

# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Arguments d'exportation#

ArgumentTypeDéfautDescription
formatstr'torchscript'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.
dynamicboolFalseAutorise des tailles d'entrée dynamiques, améliorant la flexibilité dans la gestion de dimensions d'image variables.
quantizeint ou strNonePrécision de quantification : 16 (FP16) nécessite une exportation sur GPU avec device=0 ; 32/non défini correspond à FP32. Remplace l'indicateur déprécié half.
nmsboolFalseAjoute le NMS (Non-Maximum Suppression), essentiel pour un post-traitement de détection précis et efficace.
batchint1Spécifie la taille d'inférence par lots du modèle exporté ou le nombre maximal d'images que le modèle exporté traitera simultanément en mode predict.
devicestrNoneSpécifie le périphérique pour l'exportation : GPU (device=0), CPU (device=cpu), MPS pour Apple Silicon (device=mps).

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

Déployer des modèles YOLO26 TorchScript exportés#

Après avoir exporté avec succès tes modèles Ultralytics YOLO26 au format TorchScript, tu peux maintenant les déployer. La première étape, principale et recommandée, pour exécuter un modèle TorchScript est d'utiliser la méthode YOLO("model.torchscript"), comme indiqué dans l'exemple de code d'utilisation précédent. Pour des instructions détaillées sur le déploiement de tes modèles TorchScript dans d'autres contextes, consulte les ressources suivantes :

  • Explore Mobile Deployment : Utilise le pipeline distinct torch.export().pte d'ExecuTorch pour le déploiement mobile actuel sous PyTorch.

  • Master Server-Side Deployment : Appends à déployer des modèles côté serveur avec TorchServe, grâce à un tutoriel étape par étape pour un service de modèles évolutif et efficace.

  • Implement C++ Deployment : Plonge-toi dans le tutoriel sur le chargement d'un modèle TorchScript en C++, facilitant l'intégration de tes modèles TorchScript dans des applications C++ pour plus de performance et de polyvalence.

Résumé#

Dans ce guide, nous avons exploré le processus d'exportation des modèles Ultralytics YOLO26 vers le format TorchScript. En suivant les instructions fournies, tu peux optimiser les modèles YOLO26 pour la performance et gagner la flexibilité de les déployer sur diverses plateformes et environnements.

Pour plus de détails sur l'utilisation, visite la documentation officielle de TorchScript.

De plus, si tu souhaites en savoir plus sur d'autres intégrations d'Ultralytics YOLO26, visite notre integration guide page. Tu y trouveras de nombreuses ressources et informations utiles.

FAQ#

  • Exporter un modèle Ultralytics YOLO26 vers TorchScript permet un déploiement flexible et multiplateforme. TorchScript, une partie de l'écosystème PyTorch, facilite la sérialisation des modèles, qui peuvent ensuite être exécutés dans des environnements dépourvus de support Python. Cela le rend utile pour déployer des modèles dans des environnements C++.

  • Pour exporter un modèle YOLO26 vers TorchScript, tu peux utiliser l'exemple de code suivant :

    Utilisation
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TorchScript format
    model.export(format="torchscript")  # creates 'yolo26n.torchscript'
    
    # Load the exported TorchScript model
    torchscript_model = YOLO("yolo26n.torchscript")
    
    # Run inference
    results = torchscript_model("https://ultralytics.com/images/bus.jpg")

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

  • Utiliser TorchScript pour déployer des modèles YOLO26 offre plusieurs avantages :

    • Portabilité : Les modèles exportés peuvent s'exécuter dans des applications C++ sans Python.
    • Optimisation : TorchScript prend en charge l'exécution par graphe statique et la compilation Just-In-Time (JIT), ce qui peut optimiser les performances du modèle.
    • Intégration inter-langages : Les modèles TorchScript peuvent être intégrés dans d'autres langages de programmation, améliorant la flexibilité et l'évolutivité.
    • Sérialisation : Les modèles peuvent être sérialisés, permettant un chargement et une inférence indépendants de la plateforme.

    Pour plus d'informations sur le déploiement, consulte la documentation de TorchServe et le guide de déploiement C++. Pour le déploiement mobile sur appareil, PyTorch recommande désormais ExecuTorch, qui utilise son propre pipeline distinct torch.export().pte plutôt que TorchScript.

  • Pour installer le package requis pour exporter des modèles YOLO26, utilise la commande suivante :

    Installation
    # Install the required package for YOLO26
    pip install ultralytics

    Pour des instructions détaillées, consulte le guide d'installation d'Ultralytics. Si des problèmes surviennent lors de l'installation, consulte le guide des problèmes courants.

  • Après avoir exporté des modèles YOLO26 vers le format TorchScript, tu peux les déployer sur une variété de plateformes :

    • C++ API : Utilise LibTorch pour des environnements de production à faible surcharge et hautement efficaces.
    • Mobile Deployment : Utilise ExecuTorch, le remplaçant pris en charge par PyTorch doté d'un pipeline d'exportation distinct .pte.
    • Cloud Deployment : Utilise des services tels que TorchServe pour un déploiement évolutif côté serveur.

    Explore les directives complètes pour le déploiement de modèles dans ces environnements afin de tirer pleinement parti des capacités de TorchScript.

Commentaires