Skip to content

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 MagicAperçu de DeepSparse

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.

Vitesse d'inférence améliorée

  • 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.

Efficacité du modèle optimisé

  • 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.

Comment fonctionne la technologie DeepSparse de Neural Magic?

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 :

Installation

# Install the required packages
pip install deepsparse[yolov8]

É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

# Export YOLO11 model to ONNX format
yolo task=detect mode=export model=yolo11n.pt format=onnx opset=13

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

# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

É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

# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo11n.onnx"

# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo11n.onnx"

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.

Fonction d'annotation d'images

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 :

pip install deepsparse[yolov8]

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 :

yolo task=detect mode=export model=yolo11n.pt format=onnx opset=13

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 .

📅C réé il y a 11 mois ✏️ Mis à jour il y a 2 mois

Commentaires