Optimisation des inférences YOLO11 avec le moteur DeepSparse de Neural Magic
Lorsque vous déployez des modèles de détection d'objets tels que Ultralytics YOLO11 sur différents matériels, vous pouvez être confronté à des problèmes spécifiques tels que l'optimisation. C'est là que l'intégration de YOLO11 avec le moteur DeepSparse de Neural Magic intervient. Elle transforme la façon dont les modèles YOLO11 sont exécutés et permet d'obtenir des performances de niveau GPU directement sur les processeurs.
Ce guide vous montre comment déployer YOLO11 à l'aide de Neural Magic's DeepSparse, comment exécuter des inférences et comment évaluer les performances pour s'assurer qu'elles sont optimisées.
Neural MagicDeepSparse
Neural MagicDeepSparse est un temps d'exécution d'inférence conçu pour optimiser l'exécution des réseaux neuronaux sur les CPU. Il applique des techniques avancées telles que l'éparpillement, l'élagage et la quantification pour réduire considérablement les exigences de calcul tout en maintenant la précision. DeepSparse offre une solution agile pour l'exécution efficace et évolutive des réseaux neuronaux sur différents appareils.
Avantages de l'intégration de Neural Magic's DeepSparse avec YOLO11
Avant de voir comment déployer YOLOV8 à l'aide de DeepSparse, il convient de comprendre les avantages de l'utilisation de DeepSparse. Voici quelques-uns de ces avantages :
- Vitesse d'inférence améliorée: Jusqu'à 525 FPS (sur YOLO11n), ce qui accélère considérablement les capacités d'inférence de YOLO11 par rapport aux méthodes traditionnelles.
- Optimisation de l'efficacité du modèle: Utilise l'élagage et la quantification pour améliorer l'efficacité de YOLO11, en réduisant la taille du modèle et les besoins de calcul tout en maintenant la précision.
-
Haute performance sur les CPU standard: Offre des performances comparables à celles du site GPU sur les unités centrales, ce qui constitue une option plus accessible et plus rentable pour diverses applications.
-
Intégration et déploiement simplifiés: Offre des outils conviviaux pour faciliter l'intégration de YOLO11 dans les applications, y compris les fonctions d'annotation d'images et de vidéos.
-
Prise en charge de divers types de modèles: Compatible avec les modèles YOLO11 standard et optimisés en termes d'espace, pour une plus grande souplesse de déploiement.
-
Solution rentable et évolutive: Réduit les dépenses opérationnelles et offre un déploiement évolutif de modèles avancés de détection d'objets.
Comment fonctionne la technologie DeepSparse de Neural Magic?
Neural MagicLa technologie Deep Sparse s'inspire de l'efficacité du cerveau humain dans le calcul des réseaux neuronaux. Elle adopte les deux principes clés suivants du cerveau :
-
Sparsité: Le processus de sparsification consiste à élaguer les informations redondantes des réseaux d'apprentissage profond, ce qui permet d'obtenir des modèles plus petits et plus rapides sans compromettre la précision. Cette technique permet de réduire considérablement la taille du réseau et les besoins de calcul.
-
Localité de référence: DeepSparse utilise une méthode d'exécution unique en décomposant le réseau en Tensor Columns. Ces colonnes sont exécutées en profondeur et s'intègrent entièrement dans le cache de CPU. Cette approche imite l'efficacité du cerveau, en minimisant le mouvement des données et en maximisant l'utilisation du cache de CPU.
Pour plus de détails sur le fonctionnement de la technologie DeepSparse de Neural Magic, consultez leur article de blog.
Création d'une version éparse de YOLO11 entraînée sur un ensemble de données personnalisé
SparseZoo, un dépôt de modèles open-source de Neural Magic, offre une collection de points de contrôle de modèles YOLO11 pré-sparsifiés. Avec SparseML, intégré de manière transparente à Ultralytics, les utilisateurs peuvent affiner sans effort ces points de contrôle épars sur leurs ensembles de données spécifiques à l'aide d'une interface de ligne de commande simple.
Consultez la documentation SparseML YOLO11 deNeural Magic pour plus de détails.
Utilisation : DĂ©ploiement de YOLOV8 Ă l'aide de DeepSparse
Le déploiement de YOLO11 avec Neural Magic's DeepSparse implique quelques étapes simples. Avant de vous plonger dans les instructions d'utilisation, n'oubliez pas de consulter la gamme de modèlesYOLO11 proposés par Ultralytics. Cela vous aidera à choisir le modèle le plus approprié aux exigences de votre projet. Voici comment vous pouvez commencer.
Étape 1 : Installation
Pour installer les paquets nécessaires, exécutez :
Étape 2 : Exportation de YOLO11 au format ONNX
DeepSparse Engine requiert les modèles YOLO11 au format ONNX . L'exportation de votre modèle dans ce format est essentielle pour la compatibilité avec DeepSparse. Utilisez la commande suivante pour exporter les modèles YOLO11 :
Modèle Export
Cette commande permet d'enregistrer le yolo11n.onnx
sur votre disque.
Étape 3 : Déploiement et exécution des inférences
Avec votre modèle YOLO11 au format ONNX , vous pouvez déployer et exécuter des inférences à l'aide de DeepSparse. Cela peut être fait facilement avec leur API intuitive Python :
Déploiement et exécution des inférences
from deepsparse import Pipeline
# Specify the path to your YOLO11 ONNX model
model_path = "path/to/yolo11n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)
Étape 4 : Analyse comparative des performances
Il est important de vérifier que votre modèle YOLO11 fonctionne de manière optimale sur DeepSparse. Vous pouvez comparer les performances de votre modèle pour analyser le débit et la latence :
Analyse comparative
Étape 5 : Fonctionnalités supplémentaires
DeepSparse offre des fonctionnalités supplémentaires pour l'intégration pratique de YOLO11 dans des applications telles que l'annotation d'images et l'évaluation d'ensembles de données.
Caractéristiques supplémentaires
La commande annotate permet de traiter l'image spécifiée, de détecter les objets et d'enregistrer l'image annotée avec les boîtes de délimitation et les classifications. L'image annotée sera stockée dans un dossier "annotation-results". Cela permet de fournir une représentation visuelle des capacités de détection du modèle.
Après avoir exécuté la commande eval, vous obtiendrez des mesures de sortie détaillées telles que la précision, le rappel et la mAP (précision moyenne). Vous obtenez ainsi une vue d'ensemble des performances de votre modèle sur l'ensemble de données. Cette fonctionnalité est particulièrement utile pour affiner et optimiser vos modèles YOLO11 pour des cas d'utilisation spécifiques, en garantissant une précision et une efficacité élevées.
Résumé
Ce guide a étudié l'intégration de Ultralytics'YOLO11 avec Neural Magic's DeepSparse Engine. Il montre comment cette intégration améliore les performances de YOLO11 sur les plates-formes CPU , en offrant une efficacité de niveau GPU et des techniques avancées d'espacement des réseaux neuronaux.
Pour des informations plus détaillées et une utilisation avancée, consultez la documentation DeepSparse deNeural Magic. Consultez également la documentation de Neural Magic sur l'intégration avec YOLO11 ici et regardez une excellente session à ce sujet ici.
En outre, pour une meilleure compréhension des différentes intégrations de YOLO11 , visitez la page du guide d'intégration deUltralytics , où vous découvrirez une série d'autres possibilités d'intégration passionnantes.
FAQ
Qu'est-ce que le moteur DeepSparse de Neural Magic et comment optimise-t-il les performances de YOLO11 ?
Neural MagicDeepSparse Engine est un moteur d'exécution d'inférence conçu pour optimiser l'exécution des réseaux neuronaux sur les CPU grâce à des techniques avancées telles que l'éparpillement, l'élagage et la quantification. En intégrant DeepSparse à YOLO11, vous pouvez obtenir des performances comparables à celles de GPU sur des CPU standard, en améliorant considérablement la vitesse d'inférence, l'efficacité des modèles et les performances globales tout en conservant la précision. Pour plus de détails, consultez la section DeepSparse du siteNeural Magic.
Comment puis-je installer les paquets nécessaires pour déployer YOLO11 en utilisant Neural Magic's DeepSparse ?
L'installation des paquets nécessaires au déploiement de YOLO11 avec Neural Magic's DeepSparse est simple. Vous pouvez facilement les installer en utilisant la commande CLI. Voici la commande que vous devez exécuter :
Une fois installé, suivez les étapes indiquées dans la section Installation pour configurer votre environnement et commencer à utiliser DeepSparse avec YOLO11.
Comment convertir les modèles YOLO11 au format ONNX pour les utiliser avec DeepSparse ?
Pour convertir les modèles YOLO11 au format ONNX , nécessaire à la compatibilité avec DeepSparse, vous pouvez utiliser la commande suivante : CLI :
Cette commande exportera votre modèle YOLO11 (yolo11n.pt
) Ă un format (yolo11n.onnx
) qui peuvent être utilisés par le moteur DeepSparse. De plus amples informations sur l'exportation de modèles peuvent être trouvées dans la section Section Exportation de modèles.
Comment puis-je Ă©valuer les performances de YOLO11 sur le moteur DeepSparse ?
L'analyse comparative des performances de YOLO11 sur DeepSparse vous permet d'analyser le débit et la latence afin de vous assurer que votre modèle est optimisé. Vous pouvez utiliser la commande suivante CLI pour effectuer une analyse comparative :
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"
Cette commande vous fournira des mesures de performance essentielles. Pour plus de détails, voir la section Analyse comparative des performances.
Pourquoi utiliser DeepSparse de Neural Magic avec YOLO11 pour les tâches de détection d'objets ?
L'intégration de DeepSparse de Neural Magic avec YOLO11 offre plusieurs avantages :
- Vitesse d'inférence améliorée : Jusqu'à 525 FPS, ce qui accélère considérablement les capacités de YOLO11.
- Efficacité optimisée du modèle : Utilise des techniques de rareté, d'élagage et de quantification pour réduire la taille du modèle et les besoins de calcul tout en maintenant la précision.
- Haute performance sur des unités centrales standard : Offre des performances comparables à celles de GPU sur du matériel CPU économique.
- Intégration simplifiée : Des outils conviviaux pour faciliter le déploiement et l'intégration.
- Flexibilité : Prend en charge les modèles standard et les modèles optimisés en fonction de la densité YOLO11 .
- Rentable : Réduit les dépenses opérationnelles grâce à une utilisation efficace des ressources.
Pour en savoir plus sur ces avantages, consultez la section Avantages de l'intégration de DeepSparse de Neural Magic avec YOLO11 .