YOLO11 Exportation du modèle 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 un support limité 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 cadre Python n'est pas disponible. Il est donc idéal pour les scénarios dans lesquels vous devez déployer vos capacités de vision par ordinateur sur différents appareils ou plates-formes.
Exporter vers Torchscript pour sérialiser vos modèles Ultralytics YOLO11 pour une compatibilité multiplateforme et un déploiement simplifié. Dans ce guide, nous vous montrons comment exporter vos modèles YOLO11 au format TorchScript , ce qui vous permettra de les utiliser plus facilement 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 une variété de plateformes. L'exportation des modèles YOLO11 vers TorchScript est essentiel pour passer de la recherche aux applications du monde réel. TorchScript L'utilisation de PyTorch , qui fait partie du cadre PyTorch , facilite cette transition en permettant d'utiliser les modèles dans des environnements qui ne prennent pas en charge Python.
Ce processus fait appel à deux techniques : le traçage et la création de scripts. Le traçage enregistre les opérations pendant l'exécution du modèle, tandis que la création de scripts permet de définir des modèles à l'aide d'un sous-ensemble de Python. Ces techniques garantissent que des modèles tels que YOLO11 peuvent toujours exercer leur magie, même en dehors de leur environnement Python habituel.
TorchScript Les modèles peuvent également être optimisés grâce à des techniques telles que la fusion d'opérateurs et le raffinement de l'utilisation de la mémoire, ce qui garantit une exécution efficace. Un autre avantage de l'exportation vers TorchScript est qu'elle permet d'accélérer l'exécution des modèles sur diverses plates-formes matérielles. Elle 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 , offre de puissantes fonctionnalités pour optimiser et déployer des modèles d'apprentissage profond.
Voici les principales caractéristiques qui font de TorchScript un outil précieux pour les développeurs :
-
Exécution graphique statique: TorchScript utilise une représentation graphique statique du calcul du modèle, ce qui est différent de l'exécution graphique dynamique de PyTorch. Dans l'exécution statique du graphe, le graphe de calcul est défini et compilé une fois avant l'exécution réelle, ce qui améliore les performances lors de l'inférence.
-
Sérialisation des modèles: TorchScript vous permet de sérialiser les modèles PyTorch dans un format indépendant de la plate-forme. Les modèles sérialisés peuvent être chargés sans nécessiter le code original Python , ce qui permet de les déployer dans différents environnements d'exécution.
-
Compilation JIT: TorchScript utilise la compilation JIT (Just-In-Time) pour convertir les modèles PyTorch en une représentation intermédiaire optimisée. La compilation JIT compile le graphe de calcul du modèle, ce qui permet une exécution efficace sur les appareils cibles.
-
Intégration inter-langues: Avec TorchScript, vous pouvez exporter les modèles PyTorch vers d'autres langages tels que C++, Java et JavaScript. Il est ainsi plus facile d'intégrer les modèles PyTorch dans des systèmes logiciels existants écrits dans d'autres langages.
-
Conversion graduelle: TorchScript propose une approche de conversion graduelle, vous permettant de convertir progressivement des parties de votre modèle PyTorch en TorchScript. Cette flexibilité est particulièrement utile lorsqu'il s'agit de modèles complexes ou lorsque vous souhaitez optimiser des parties spécifiques du code.
Options de déploiement dans TorchScript
Avant d'examiner le code permettant d'exporter les modèles YOLO11 vers le format TorchScript , il convient de comprendre où les modèles TorchScript sont normalement utilisés.
TorchScript offre diverses options de déploiement pour les modèles d'apprentissage automatique, telles que :
-
API C++: Le cas d'utilisation le plus courant de TorchScript est son API C++, qui vous permet de charger et d'exécuter des modèles TorchScript optimisés directement dans des applications C++. Cette solution est idéale pour les environnements de production dans lesquels Python n'est pas adapté ou disponible. L'API C++ permet une exécution efficace et à faible coût des modèles TorchScript , maximisant ainsi le potentiel de performance.
-
Déploiement mobile: TorchScript offre des outils pour convertir les modèles dans des formats facilement déployables sur des appareils mobiles. PyTorch Mobile fournit un moteur d'exécution pour l'exécution de ces modèles dans les applications iOS et Android . Cela permet des capacités d'inférence hors ligne à faible latence, améliorant ainsi l'expérience de l'utilisateur et la confidentialité des données.
-
Déploiement dans le nuage: les modèles TorchScript peuvent être déployés sur des serveurs basés dans le nuage à l'aide de solutions telles que TorchServe. Cette solution offre des fonctionnalités telles que le versionnement des modèles, la mise en lots et la surveillance des mesures pour un déploiement évolutif dans des environnements de production. Le déploiement dans le nuage avec TorchScript peut rendre vos modèles accessibles via des API ou d'autres services web.
Exportation vers TorchScript: Conversion de votre modèle YOLO11
L'exportation des modèles YOLO11 vers TorchScript facilite leur utilisation à différents endroits et leur permet de fonctionner plus rapidement et plus efficacement. C'est une excellente chose pour tous ceux qui cherchent à utiliser les modèles d'apprentissage profond plus efficacement dans les applications du monde réel.
Installation
Pour installer le paquetage requis, exécutez :
Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consultez notre guide d'installationUltralytics . Lors de l'installation des paquets requis pour YOLO11, si vous rencontrez des difficultés, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils.
Utilisation
Avant de plonger dans les instructions d'utilisation, il est important de noter que si tous les modèlesUltralytics YOLO11 sont disponibles pour l'exportation, vous pouvez vous assurer que le modèle que vous sélectionnez prend en charge la fonctionnalité d'exportation ici.
Utilisation
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo11n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
Pour plus de détails sur le processus d'exportation, consultez la page de documentationUltralytics sur l'exportation.
Déploiement des modèles exportés YOLO11 TorchScript
Après avoir exporté avec succès vos modèles Ultralytics YOLO11 au format TorchScript , vous pouvez maintenant les déployer. La première étape recommandée pour l'exécution d'un modèle TorchScript consiste à utiliser la méthode YOLO("model.torchscript"), comme indiqué dans l'extrait de code d'utilisation précédent. Toutefois, pour obtenir des instructions détaillées sur le déploiement de vos modèles TorchScript dans divers autres contextes, consultez les ressources suivantes :
-
Explorer le déploiement mobile: La documentation PyTorch La documentation mobile fournit des lignes directrices complètes pour le déploiement de modèles sur des appareils mobiles, garantissant ainsi l'efficacité et la réactivité de vos applications.
-
Maîtriser le déploiement côté serveur: Apprenez à déployer des modèles côté serveur avec TorchServe, qui propose un tutoriel étape par étape pour un service de modèles évolutif et efficace.
-
Déploiement de C++: Plongez dans le didacticiel sur le chargement d'un modèle TorchScript en C++, qui facilite l'intégration de vos modèles TorchScript dans des applications C++ pour une performance et une polyvalence accrues.
Résumé
Dans ce guide, nous avons exploré le processus d'exportation des modèles Ultralytics YOLO11 vers le format TorchScript . En suivant les instructions fournies, vous pouvez optimiser les performances des modèles YOLO11 et bénéficier de la flexibilité nécessaire pour les déployer sur différentes plates-formes et dans différents environnements.
Pour plus de détails sur l'utilisation, consultez la documentation officielle deTorchScript.
Par ailleurs, si vous souhaitez en savoir plus sur d'autres intégrations de Ultralytics YOLO11 , visitez notre page de guide d'intégration. Vous y trouverez de nombreuses ressources et informations utiles.
FAQ
Qu'est-ce que Ultralytics YOLO11 modèle d'exportation vers TorchScript?
L'exportation d'un modèle Ultralytics YOLO11 vers TorchScript permet un déploiement flexible et multiplateforme. TorchScript Python , 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 qui ne prennent pas en charge . Il est donc idéal pour déployer des 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 une performance efficace et une plus grande applicabilité de vos modèles YOLO11 sur diverses plateformes.
Comment puis-je exporter mon modèle YOLO11 vers TorchScript en utilisant Ultralytics?
Pour exporter un modèle YOLO11 vers TorchScript, vous pouvez utiliser l'exemple de code suivant :
Utilisation
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo11n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
Pour plus de détails sur le processus d'exportation, consultez la documentationUltralytics sur l'exportation.
Pourquoi utiliser TorchScript pour déployer les modèles YOLO11 ?
L'utilisation de TorchScript pour le déploiement des modèles YOLO11 présente plusieurs avantages :
- Portabilité: Les modèles exportés peuvent fonctionner dans des environnements ne nécessitant pas Python, tels que les applications C++, les systèmes embarqués ou les appareils mobiles.
- Optimisation: TorchScript prend en charge l'exécution statique des graphes et la compilation Just-In-Time (JIT), ce qui permet d'optimiser les performances des modèles.
- Intégration inter-langues: les modèles TorchScript peuvent être intégrés dans 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 plate-forme.
Pour plus d'informations sur le déploiement, consultez les sites PyTorch Mobile Documentation, TorchServe Documentation et C++ Deployment Guide.
Quelles sont les étapes d'installation pour exporter les modèles YOLO11 vers TorchScript?
Pour installer le paquetage nécessaire à l'exportation des modèles YOLO11 , utilisez la commande suivante :
Pour des instructions détaillées, consultez le guide d'installationUltralytics . Si des problèmes surviennent pendant l'installation, consultez le guide des problèmes courants.
Comment puis-je déployer mes modèles exportés TorchScript YOLO11 ?
Après avoir exporté les modèles YOLO11 au format TorchScript , vous pouvez les déployer sur diverses plateformes :
- API C++: Idéale pour les environnements de production à faible coût et à haute efficacité.
- DĂ©ploiement mobile: Utilisez PyTorch Mobile pour les applications iOS et Android .
- Déploiement dans le nuage: Utilisez des services tels que TorchServe pour un déploiement évolutif côté serveur.
Découvrez des lignes directrices complètes pour le déploiement de modèles dans ces contextes afin de tirer pleinement parti des capacités du site TorchScript.