Passer au contenu

Optimisation des inférences YOLO11 avec le moteur DeepSparse de Neural Magic

Lors du déploiement de modèles de détection d'objets comme Ultralytics YOLO11 sur divers matériels, vous pouvez rencontrer des problèmes uniques comme l'optimisation. C'est là qu'intervient l'intégration de YOLO11 avec le moteur DeepSparse de Neural Magic. Il transforme la façon dont les modèles YOLO11 sont exécutés et permet des performances de niveau GPU directement sur les CPU.

Ce guide vous montre comment déployer YOLO11 en utilisant DeepSparse de Neural Magic, comment exécuter des inférences, et aussi comment évaluer les performances pour s'assurer qu'elles sont optimisées.

Fin de vie de SparseML

Neural Magic était acquise par Red Hat en janvier 2025, et déprécie les versions communautaires de leurs deepsparse, sparseml, sparsezoo, et sparsify bibliothèques. Pour plus d'informations, consultez l'avis publié dans le Readme sur le sparseml Dépôt GitHub.

DeepSparse de Neural Magic

Présentation de DeepSparse de Neural Magic

DeepSparse de Neural Magic est un environnement 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 la densité clairsemée, l'élagage et la quantification pour réduire considérablement les demandes de calcul tout en maintenant la précision. DeepSparse offre une solution agile pour une exécution efficace et évolutive des réseaux neuronaux sur divers appareils.

Avantages de l'intégration de DeepSparse de Neural Magic avec YOLO11

Avant de voir comment déployer YOLO11 en utilisant DeepSparse, comprenons les avantages de l'utilisation de DeepSparse. Voici quelques avantages clés :

  • Vitesse d'inférence améliorée : Atteint jusqu'à 525 FPS (sur YOLO11n), accélérant considérablement les capacités d'inférence de YOLO11 par rapport aux méthodes traditionnelles.

Vitesse d'inférence améliorée

  • Efficacité du modèle optimisée : Utilise l'élagage et la quantification pour améliorer l'efficacité de YOLO11, réduisant la taille du modèle et les besoins de calcul tout en conservant la précision.

Efficacité du modèle optimisée

  • Haute Performance sur les CPU Standards : Fournit des performances de type GPU sur les CPU, offrant une option plus accessible et économique pour diverses applications.

  • Intégration et déploiement simplifiés : Offre des outils conviviaux pour une intégration facile de YOLO11 dans les applications, y compris les fonctionnalités d'annotation d'images et de vidéos.

  • Prise en charge de différents types de modèles : Compatible avec les modèles YOLO11 standard et optimisés pour la parcimonie, ce qui ajoute de la flexibilité au déploiement.

  • Solution évolutive et rentable : 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 ?

La technologie Deep Sparse de Neural Magic s'inspire de l'efficacité du cerveau humain dans le calcul des réseaux neuronaux. Elle adopte deux principes clés du cerveau comme suit :

  • Parcimonie : Le processus de sparsification consiste à élaguer les informations redondantes des réseaux de deep learning, ce qui permet d’obtenir des modèles plus petits et plus rapides sans compromettre la précision. Cette technique réduit 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, divisant le réseau en colonnes de tenseurs. Ces colonnes sont exécutées en profondeur, tenant entièrement dans le cache du CPU. Cette approche imite l'efficacité du cerveau, minimisant le mouvement des données et maximisant l'utilisation du cache du CPU.

Comment fonctionne la technologie DeepSparse de Neural Magic

Création d'une version sparse de YOLO11 entraînée sur un ensemble de données personnalisé

SparseZoo, un référentiel 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 facilement affiner ces points de contrôle clairsemés sur leurs ensembles de données spécifiques à l'aide d'une interface de ligne de commande simple.

Consultez la documentation SparseML YOLO11 de Neural Magic pour plus de détails.

Utilisation : Déploiement de YOLO11 à l'aide de DeepSparse

Le déploiement de YOLO11 avec DeepSparse de Neural Magic implique quelques étapes simples. Avant de vous plonger dans les instructions d'utilisation, assurez-vous de consulter la gamme de modèles YOLO11 proposés par Ultralytics. Cela vous aidera à choisir le modèle le plus approprié pour les exigences de votre projet. Voici comment vous pouvez commencer.

Étape 1 : Installation

Pour installer les packages requis, exécutez :

Installation

# Install the required packages
pip install deepsparse[yolov8]

Étape 2 : Exporter YOLO11 au format ONNX

Le moteur DeepSparse nécessite des 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 :

Exportation de modèle

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

Cette commande enregistrera le yolo11n.onnx modèle 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 Python intuitive :

Déploiement et exécution d'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 évaluer les performances de votre modèle pour analyser le débit et la latence :

Évaluation 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 fournit des fonctionnalités supplémentaires pour l'intégration pratique de YOLO11 dans les applications, telles que l'annotation d'images et l'évaluation d'ensembles de données.

Fonctionnalités 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"

L'exécution de la commande d'annotation traite l'image que vous avez spécifiée, détecte les objets et enregistre l'image annotée avec des cadres de délimitation et des classifications. L'image annotée sera stockée dans un dossier de résultats d'annotation. Cela permet de fournir une représentation visuelle des capacités de détection du modèle.

Fonctionnalité d'annotation d'image

Après avoir exécuté la commande eval, vous recevrez des métriques de sortie détaillées telles que la précision, le rappel et la mAP (précision moyenne moyenne). Cela fournit une vue complète 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, garantissant une précision et une efficacité élevées.

Résumé

Ce guide a exploré l'intégration de YOLO11 d'Ultralytics avec le moteur DeepSparse de Neural Magic. Il a souligné comment cette intégration améliore les performances de YOLO11 sur les plateformes CPU, offrant une efficacité de niveau GPU et des techniques avancées de clairsemage de réseaux neuronaux.

Pour des informations plus détaillées et une utilisation avancée, consultez la documentation DeepSparse de Neural Magic. Vous pouvez également explorer le guide d'intégration de YOLO11 et regarder une session de présentation sur YouTube.

De plus, pour une compréhension plus large des diverses intégrations de YOLO11, consultez la page du guide d'intégration Ultralytics, où vous pouvez découvrir une gamme d'autres possibilités d'intégration intéressantes.

FAQ

Qu'est-ce que le moteur DeepSparse de Neural Magic et comment optimise-t-il les performances de YOLO11 ?

Le moteur DeepSparse de Neural Magic est un environnement 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 la sparsité, l'élagage et la quantification. En intégrant DeepSparse avec YOLO11, vous pouvez obtenir des performances similaires à celles d'un GPU sur des CPU standard, améliorant considérablement la vitesse d'inférence, l'efficacité du modèle et la performance globale tout en maintenant la précision. Pour plus de détails, consultez la section DeepSparse de Neural Magic.

Comment puis-je installer les paquets nécessaires pour déployer YOLO11 en utilisant DeepSparse de Neural Magic ?

L'installation des paquets requis pour déployer YOLO11 avec DeepSparse de Neural Magic est simple. Vous pouvez facilement les installer à l'aide de la CLI. Voici la commande que vous devez exécuter :

pip install deepsparse[yolov8]

Une fois installé, suivez les étapes fournies dans la section Installation pour configurer votre environnement et commencer à utiliser DeepSparse avec YOLO11.

Comment convertir les modèles YOLO11 au format ONNX pour une utilisation avec DeepSparse ?

Pour convertir les modèles YOLO11 au format ONNX, requis pour la compatibilité avec DeepSparse, vous pouvez utiliser la commande CLI suivante :

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

Cette commande exportera votre modèle YOLO11 (yolo11n.pt) vers un format (yolo11n.onnx) qui peut être utilisé par le moteur DeepSparse. Plus d'informations sur l'exportation de modèles sont disponibles dans la section Section Exportation de modèle.

Comment puis-je évaluer les performances de YOLO11 sur le moteur DeepSparse ?

L'évaluation comparative des performances de YOLO11 sur DeepSparse vous aide à analyser le débit et la latence pour garantir que votre modèle est optimisé. Vous pouvez utiliser la commande CLI suivante pour exécuter un benchmark :

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, consultez la section Benchmarking Performance.

Pourquoi devrais-je 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 : Atteint jusqu'à 525 FPS, accélérant considérablement les capacités de YOLO11.
  • Efficacité du modèle optimisée : Utilise des techniques d'éparpillement, d'élagage et de quantification pour réduire la taille du modèle et les besoins de calcul tout en conservant la précision.
  • Haute Performance sur les CPU Standards : Offre des performances semblables à celles d'un GPU sur du matériel CPU économique.
  • Intégration simplifiée : Outils conviviaux pour un déploiement et une intégration faciles.
  • Flexibilité : Prend en charge les modèles YOLO11 standard et optimisés pour la clairsemance.
  • Rentabilité : Réduit les dépenses opérationnelles grâce à une utilisation efficace des ressources.

Pour une analyse plus approfondie de ces avantages, consultez la section sur les avantages de l'intégration de DeepSparse de Neural Magic avec YOLO11.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 7 jours

Commentaires