Exportation du modèle YOLO26 vers TorchScript pour un déploiement rapide
Le déploiement de modèles de vision par ordinateur dans différents environnements, y compris les systèmes embarqués, les navigateurs Web ou les plateformes avec une prise en charge limitée de python, nécessite une solution flexible et portable. TorchScript se concentre sur la portabilité et la capacité d'exécuter des modèles dans des environnements où l'ensemble du framework python n'est pas disponible. Cela le rend idéal pour les scénarios où vous devez déployer vos capacités de vision par ordinateur sur divers appareils ou plateformes.
Exportez vers TorchScript pour sérialiser vos modèles Ultralytics YOLO26 afin d'assurer une compatibilité multiplateforme et un déploiement simplifié. Dans ce guide, nous vous montrerons comment exporter vos modèles YOLO26 au format TorchScript, ce qui facilitera leur utilisation dans un plus grand nombre d'applications.
Pourquoi exporter vers TorchScript ?

Développé par les créateurs de PyTorch, TorchScript est un outil puissant pour optimiser et déployer les modèles PyTorch sur diverses plateformes. L'exportation des modèles YOLO26 vers TorchScript est cruciale pour passer de la recherche aux applications concrètes. TorchScript, qui fait partie du framework PyTorch, facilite cette transition en permettant l'utilisation des modèles PyTorch dans des environnements qui ne prennent pas en charge Python.
Le processus implique deux techniques : le traçage (tracing) et le scriptage (scripting). Le traçage enregistre les opérations pendant l'exécution du modèle, tandis que le scriptage 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 fonctionner efficacement même en dehors de leur environnement Python habituel.

Les modèles TorchScript peuvent également être optimisés grâce à des techniques telles que la fusion d'opérateurs et l'amélioration de l'utilisation de la mémoire, garantissant ainsi une exécution efficace. Un autre avantage de l'exportation vers TorchScript est son potentiel d'accélérer l'exécution du modèle sur diverses plateformes matérielles. Il crée une représentation autonome et prête à la production de votre modèle PyTorch qui peut être intégrée dans des environnements C++, des systèmes embarqués ou déployée dans des applications web ou mobiles.
Principales caractéristiques des modèles TorchScript
TorchScript, un élément clé de l'écosystème PyTorch, fournit des fonctionnalités puissantes pour l'optimisation et le déploiement de modèles de deep learning.

Voici les principales caractéristiques qui font de TorchScript un outil précieux pour les développeurs :
Exécution de graphe statique : TorchScript utilise une représentation de graphe statique du calcul du modèle, ce qui est différent de l'exécution de graphe dynamique de PyTorch. Dans l'exécution de 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 vous permet de sérialiser les 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 d’origine, ce qui permet le 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. JIT compile le graphe de calcul du modèle, permettant une exécution efficace sur les appareils cibles.
Intégration inter-langages : Avec TorchScript, vous pouvez exporter des modèles PyTorch vers d’autres langages tels que C++, Java et JavaScript. Cela facilite l’intégration des modèles PyTorch dans les systèmes logiciels existants écrits dans différents langages.
Conversion progressive : TorchScript fournit une approche de conversion progressive, vous permettant de convertir progressivement des parties de votre modèle PyTorch en TorchScript. Cette flexibilité est particulièrement utile lorsque vous travaillez avec des modèles complexes ou lorsque vous souhaitez optimiser des portions spécifiques du code.
Options de déploiement dans TorchScript
Avant d'examiner le code d'exportation des modèles YOLO26 au format TorchScript, comprenons où les modèles TorchScript sont normalement utilisés.
TorchScript offre diverses options de déploiement pour les modèles de machine learning, telles que :
API C++ : Le cas d'utilisation le plus courant pour TorchScript est son API C++, qui vous permet de charger et d'exécuter des modèles TorchScript optimisés directement dans les applications C++. Ceci est idéal pour les environnements de production où python peut ne pas être approprié ou disponible. L'API C++ offre une exécution à faible surcharge et efficace des modèles TorchScript, maximisant ainsi le potentiel de performance.
Déploiement mobile: TorchScript offre des outils pour convertir les modèles en formats facilement déployables sur les appareils mobiles. PyTorch Mobile fournit un environnement d'exécution pour exécuter ces modèles dans les applications iOS et Android. Cela permet des capacités d'inférence hors ligne à faible latence, améliorant l'expérience utilisateur et la confidentialité des données.
Déploiement dans le cloud: Les modèles TorchScript peuvent être déployés sur des serveurs basés sur le cloud à l'aide de solutions telles que TorchServe. Il fournit des fonctionnalités telles que le versionnage des modèles, le traitement par lots et la surveillance des métriques pour un déploiement évolutif dans les environnements de production. Le déploiement dans le cloud avec TorchScript peut rendre vos modèles accessibles via des API ou d'autres services web.
Exportation vers TorchScript : Conversion de votre modèle YOLO26
L'exportation des modèles YOLO26 vers TorchScript facilite leur utilisation dans différents contextes et contribue à les rendre plus rapides et plus efficaces. C'est un avantage considérable pour quiconque souhaite utiliser les modèles de deep learning plus efficacement dans des applications concrètes.
Installation
Pour installer le paquet requis, exécutez :
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, consultez notre guide d'installation d'Ultralytics. Si vous rencontrez des difficultés lors de l'installation des paquets requis pour YOLO26, consultez notre guide des problèmes courants pour des solutions et des conseils.
Utilisation
Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l'exportation nativement, facilitant ainsi leur intégration dans votre flux de travail de déploiement préféré. Vous pouvez consulter la liste complète des formats d'exportation pris en charge et des options de configuration pour choisir la meilleure configuration pour votre application.
Utilisation
from ultralytics import YOLO
# Load the 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")
# Export a YOLO26n PyTorch model to TorchScript format
yolo export model=yolo26n.pt format=torchscript # creates 'yolo26n.torchscript'
# Run inference with the exported model
yolo predict model=yolo26n.torchscript source='https://ultralytics.com/images/bus.jpg'
Arguments d'exportation
| Argument | Type | Par défaut | Description |
|---|---|---|---|
format | str | 'torchscript' | 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. |
dynamic | bool | False | Permet des tailles d'entrée dynamiques, améliorant la flexibilité dans la gestion des différentes dimensions d'image. |
optimize | bool | False | Applique une optimisation pour les appareils mobiles, ce qui peut réduire la taille du modèle et améliorer les performances. |
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 : GPU (device=0), 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 des modèles YOLO26 TorchScript exportés
Après avoir exporté avec succès vos modèles Ultralytics YOLO26 au format TorchScript, vous pouvez maintenant les déployer. La première étape principale et recommandée pour exécuter un modèle TorchScript est d'utiliser le YOLO("model.torchscript") méthode, comme décrit dans l'extrait de code d'utilisation précédent. Pour des instructions détaillées sur le déploiement de vos modèles TorchScript dans d'autres contextes, consultez les ressources suivantes :
Explorer le déploiement mobile : La documentation PyTorch Mobile fournit des directives complètes pour le déploiement de modèles sur des appareils mobiles, garantissant ainsi l'efficacité et la réactivité de vos applications.
Déploiement maître côté serveur : Apprenez à 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.
Implémenter le déploiement C++ : Plongez dans le tutoriel sur le chargement d'un modèle TorchScript en C++, facilitant l'intégration de vos modèles TorchScript dans des applications C++ pour des performances et une polyvalence améliorées.
Résumé
Dans ce guide, nous avons exploré le processus d'exportation des modèles Ultralytics YOLO26 au format TorchScript. En suivant les instructions fournies, vous pouvez optimiser les modèles YOLO26 pour la performance et obtenir la flexibilité de les déployer sur diverses plateformes et environnements.
Pour plus de détails sur l'utilisation, consultez la documentation officielle de TorchScript.
De plus, si vous souhaitez en savoir plus sur d'autres intégrations d'Ultralytics YOLO26, visitez notre page du guide d'intégration. Vous y trouverez de nombreuses ressources utiles et des informations précieuses.
FAQ
Qu'est-ce que l'exportation de modèle Ultralytics YOLO26 vers TorchScript ?
L'exportation d'un modèle Ultralytics YOLO26 vers TorchScript permet un déploiement flexible et multiplateforme. TorchScript, qui fait 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 idéal pour le déploiement de modèles sur des systèmes embarqués, des environnements C++, des applications mobiles et même des navigateurs web. L'exportation vers TorchScript permet des performances efficaces et une applicabilité plus large de vos modèles YOLO26 sur diverses plateformes.
Comment exporter mon modèle YOLO26 vers TorchScript avec Ultralytics ?
Pour exporter un modèle YOLO26 vers TorchScript, vous pouvez utiliser l'exemple de code suivant :
Utilisation
from ultralytics import YOLO
# Load the 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")
# Export a YOLO26n PyTorch model to TorchScript format
yolo export model=yolo26n.pt format=torchscript # creates 'yolo26n.torchscript'
# Run inference with the exported model
yolo predict model=yolo26n.torchscript source='https://ultralytics.com/images/bus.jpg'
Pour plus de détails sur le processus d'exportation, consultez la documentation Ultralytics sur l'exportation.
Pourquoi devrais-je utiliser TorchScript pour déployer des modèles YOLO26 ?
L'utilisation de TorchScript pour le déploiement des modèles YOLO26 offre plusieurs avantages :
- Portabilité : Les modèles exportés peuvent s'exécuter dans des environnements sans nécessiter Python, tels que les applications C++, les systèmes embarqués ou les appareils mobiles.
- Optimisation : TorchScript prend en charge l'exécution de graphes statiques 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 à d’autres langages de programmation, ce qui améliore la flexibilité et l’extensibilité.
- Sérialisation : Les modèles peuvent être sérialisés, ce qui permet un chargement et une inférence indépendants de la plateforme.
Pour plus d'informations sur le déploiement, consultez la documentation de PyTorch Mobile, la documentation de TorchServe et le Guide de déploiement C++.
Quelles sont les étapes d'installation pour exporter des modèles YOLO26 vers TorchScript ?
Pour installer le package requis pour l'exportation des modèles YOLO26, utilisez la commande suivante :
Installation
# Install the required package for YOLO26
pip install ultralytics
Pour des instructions détaillées, consultez le guide d'installation Ultralytics. En cas de problème lors de l'installation, consultez le guide des problèmes courants.
Comment déployer mes modèles YOLO26 TorchScript exportés ?
Après avoir exporté les modèles YOLO26 au format TorchScript, vous pouvez les déployer sur diverses plateformes :
- API C++ : Idéale pour les environnements de production à faible surcharge et à haute efficacité.
- Déploiement mobile: Utilisez PyTorch Mobile pour les applications iOS et Android.
- Déploiement dans le cloud: Utilisez des services tels que TorchServe pour un déploiement côté serveur évolutif.
Explorez des directives complètes pour déployer des modèles dans ces environnements afin de tirer pleinement parti des capacités de TorchScript.