Zum Inhalt springen

Optimierung von YOLO11 Inferenz mit der DeepSparse Engine von Neural Magic

Bei der Bereitstellung von Objekterkennungs-Modellen wie Ultralytics YOLO11 auf verschiedener Hardware können Sie auf einzigartige Probleme wie die Optimierung stoßen. Hier kommt die Integration von YOLO11 mit der DeepSparse Engine von Neural Magic ins Spiel. Sie verändert die Art und Weise, wie YOLO11-Modelle ausgeführt werden, und ermöglicht GPU-ähnliche Leistung direkt auf CPUs.

Dieser Leitfaden zeigt Ihnen, wie Sie YOLO11 mit Neural Magic's DeepSparse bereitstellen, wie Sie Inferenz ausführen und auch wie Sie die Leistung benchmarken, um sicherzustellen, dass sie optimiert ist.

SparseML EOL

Neural Magic war im Januar 2025 von Red Hat übernommen, und die Community-Versionen ihrer Produkte werden nicht mehr unterstützt deepsparse, sparseml, sparsezoound sparsify Bibliotheken. Weitere Informationen finden Sie im veröffentlichten Hinweis in der Readme auf der sparseml GitHub-Repository.

DeepSparse von Neural Magic

Neural Magic DeepSparse Übersicht

Neural Magic's DeepSparse ist eine Inferenz-Laufzeitumgebung, die entwickelt wurde, um die Ausführung neuronaler Netze auf CPUs zu optimieren. Es wendet fortschrittliche Techniken wie Sparsity, Pruning und Quantisierung an, um den Rechenbedarf drastisch zu reduzieren und gleichzeitig die Genauigkeit zu erhalten. DeepSparse bietet eine agile Lösung für die effiziente und skalierbare Ausführung von neuronalen Netzen auf verschiedenen Geräten.

Vorteile der Integration von Neural Magic's DeepSparse mit YOLO11

Bevor wir uns damit beschäftigen, wie man YOLO11 mit DeepSparse bereitstellt, wollen wir die Vorteile der Verwendung von DeepSparse verstehen. Einige der wichtigsten Vorteile sind:

  • Erhöhte Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (auf YOLO11n), was die Inferenzfähigkeiten von YOLO11 im Vergleich zu traditionellen Methoden deutlich beschleunigt.

Erhöhte Inferenzgeschwindigkeit

  • Optimierte Modelleffizienz: Verwendet Pruning und Quantisierung, um die Effizienz von YOLO11 zu verbessern, die Modellgröße und den Rechenbedarf zu reduzieren und gleichzeitig die Genauigkeit zu erhalten.

Optimierte Modelleffizienz

  • Hohe Leistung auf Standard-CPUs: Bietet GPU-ähnliche Leistung auf CPUs und bietet eine zugänglichere und kostengünstigere Option für verschiedene Anwendungen.

  • Optimierte Integration und Bereitstellung: Bietet benutzerfreundliche Tools zur einfachen Integration von YOLO11 in Anwendungen, einschließlich Funktionen zur Bild- und Videoannotation.

  • Unterstützung für verschiedene Modelltypen: Kompatibel mit sowohl Standard- als auch sparsigkeitsoptimierten YOLO11-Modellen, was die Flexibilität bei der Bereitstellung erhöht.

  • Kosteneffektive und skalierbare Lösung: Reduziert die Betriebskosten und bietet eine skalierbare Bereitstellung fortschrittlicher Objekterkennungsmodelle.

Wie funktioniert die DeepSparse-Technologie von Neural Magic?

Die Deep Sparse-Technologie von Neural Magic ist von der Effizienz des menschlichen Gehirns bei der Berechnung neuronaler Netze inspiriert. Sie übernimmt die folgenden zwei Schlüsselprinzipien vom Gehirn:

  • Sparsity (Datenreduktion): Der Prozess der Sparsifizierung beinhaltet das Entfernen redundanter Informationen aus Deep-Learning-Netzwerken, was zu kleineren und schnelleren Modellen führt, ohne die Genauigkeit zu beeinträchtigen. Diese Technik reduziert die Größe des Netzwerks und den Rechenbedarf erheblich.

  • Lokalität der Referenz: DeepSparse verwendet eine einzigartige Ausführungsmethode, bei der das Netzwerk in Tensor-Spalten aufgeteilt wird. Diese Spalten werden tiefenweise ausgeführt und passen vollständig in den Cache der CPU. Dieser Ansatz ahmt die Effizienz des Gehirns nach, minimiert die Datenbewegung und maximiert die Nutzung des CPU-Cache.

Wie die DeepSparse-Technologie von Neural Magic funktioniert

Erstellen einer Sparse-Version von YOLO11, die auf einem benutzerdefinierten Datensatz trainiert wurde

SparseZoo, ein Open-Source-Modell-Repository von Neural Magic, bietet eine Sammlung von vorab ausgedünnten YOLO11-Modell-Checkpoints. Mit SparseML, das nahtlos in Ultralytics integriert ist, können Benutzer diese spärlichen Checkpoints mühelos mit einer einfachen Befehlszeilenschnittstelle auf ihren spezifischen Datensätzen feinabstimmen.

Weitere Informationen finden Sie in der Neural Magic's SparseML YOLO11 Dokumentation.

Verwendung: Bereitstellung von YOLO11 mit DeepSparse

Die Bereitstellung von YOLO11 mit Neural Magic's DeepSparse umfasst einige unkomplizierte Schritte. Bevor Sie sich mit den Anweisungen zur Verwendung befassen, sollten Sie sich das Angebot an YOLO11-Modellen von Ultralytics ansehen. Dies wird Ihnen helfen, das am besten geeignete Modell für Ihre Projektanforderungen auszuwählen. So können Sie loslegen.

Schritt 1: Installation

Um die erforderlichen Pakete zu installieren, führen Sie Folgendes aus:

Installation

# Install the required packages
pip install deepsparse[yolov8]

Schritt 2: YOLO11 in das ONNX-Format exportieren

Die DeepSparse Engine benötigt YOLO11-Modelle im ONNX-Format. Der Export Ihres Modells in dieses Format ist für die Kompatibilität mit DeepSparse unerlässlich. Verwenden Sie den folgenden Befehl, um YOLO11-Modelle zu exportieren:

Modellexport

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

Dieser Befehl speichert die yolo11n.onnx Modell auf Ihre Festplatte.

Schritt 3: Bereitstellung und Ausführung von Inferenz

Mit Ihrem YOLO11-Modell im ONNX-Format können Sie DeepSparse verwenden, um Inferenzierungen bereitzustellen und auszuführen. Dies kann einfach mit der intuitiven Python-API erfolgen:

Bereitstellung und Ausführung von Inferenz

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)

Schritt 4: Performance-Benchmarking

Es ist wichtig zu überprüfen, ob Ihr YOLO11-Modell auf DeepSparse optimal funktioniert. Sie können die Leistung Ihres Modells benchmarken, um Durchsatz und Latenz zu analysieren:

Benchmarking

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

Schritt 5: Zusätzliche Funktionen

DeepSparse bietet zusätzliche Funktionen für die praktische Integration von YOLO11 in Anwendungen, wie z. B. Bildannotation und Datensatzbewertung.

Zusätzliche Funktionen

# 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"

Das Ausführen des Annotationsbefehls verarbeitet Ihr angegebenes Bild, erkennt Objekte und speichert das annotierte Bild mit Begrenzungsrahmen und Klassifizierungen. Das annotierte Bild wird in einem Annotationsergebnis-Ordner gespeichert. Dies trägt dazu bei, eine visuelle Darstellung der Erkennungsfähigkeiten des Modells zu ermöglichen.

Funktion zur Bildannotation

Nach dem Ausführen des eval-Befehls erhalten Sie detaillierte Ausgabemetriken wie Präzision, Recall und mAP (Mean Average Precision). Dies bietet einen umfassenden Überblick über die Leistung Ihres Modells auf dem Datensatz. Diese Funktionalität ist besonders nützlich für die Feinabstimmung und Optimierung Ihrer YOLO11-Modelle für spezifische Anwendungsfälle, um hohe Genauigkeit und Effizienz zu gewährleisten.

Zusammenfassung

Dieser Leitfaden untersuchte die Integration von Ultralytics' YOLO11 mit Neural Magic's DeepSparse Engine. Er hob hervor, wie diese Integration die Leistung von YOLO11 auf CPU-Plattformen verbessert und GPU-ähnliche Effizienz und fortschrittliche Techniken zur neuronalen Netzwerksparsamkeit bietet.

Für detailliertere Informationen und erweiterte Nutzung besuchen Sie die DeepSparse-Dokumentation von Neural Magic. Sie können auch die YOLO11-Integrationsanleitung erkunden und sich eine Walkthrough-Sitzung auf YouTube ansehen.

Für ein umfassenderes Verständnis verschiedener YOLO11-Integrationen besuchen Sie die Ultralytics-Seite zum Integrationsleitfaden, wo Sie eine Reihe weiterer spannender Integrationsmöglichkeiten entdecken können.

FAQ

Was ist die DeepSparse Engine von Neural Magic und wie optimiert sie die YOLO11-Leistung?

Die DeepSparse Engine von Neural Magic ist eine Inferenz-Runtime, die entwickelt wurde, um die Ausführung neuronaler Netze auf CPUs durch fortschrittliche Techniken wie Sparsity, Pruning und Quantisierung zu optimieren. Durch die Integration von DeepSparse mit YOLO11 können Sie eine GPU-ähnliche Leistung auf Standard-CPUs erzielen, wodurch die Inferenzgeschwindigkeit, die Modelleffizienz und die Gesamtleistung erheblich gesteigert werden, während die Genauigkeit erhalten bleibt. Weitere Informationen finden Sie im Abschnitt DeepSparse von Neural Magic.

Wie kann ich die benötigten Pakete installieren, um YOLO11 mit DeepSparse von Neural Magic bereitzustellen?

Die Installation der erforderlichen Pakete für die Bereitstellung von YOLO11 mit Neural Magic's DeepSparse ist unkompliziert. Sie können diese einfach über die CLI installieren. Hier ist der Befehl, den Sie ausführen müssen:

pip install deepsparse[yolov8]

Befolgen Sie nach der Installation die Schritte im Installationsabschnitt, um Ihre Umgebung einzurichten und DeepSparse mit YOLO11 zu verwenden.

Wie konvertiere ich YOLO11-Modelle in das ONNX-Format zur Verwendung mit DeepSparse?

Um YOLO11-Modelle in das ONNX-Format zu konvertieren, das für die Kompatibilität mit DeepSparse erforderlich ist, können Sie den folgenden CLI-Befehl verwenden:

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

Dieser Befehl exportiert Ihr YOLO11-Modell (yolo11n.pt) in ein Format (yolo11n.onnx), das von der DeepSparse Engine genutzt werden kann. Weitere Informationen zum Modellexport finden Sie in der Abschnitt Modellexport.

Wie führe ich ein Benchmarking der YOLO11-Performance auf der DeepSparse Engine durch?

Das Benchmarking der YOLO11-Performance auf DeepSparse hilft Ihnen, Durchsatz und Latenz zu analysieren, um sicherzustellen, dass Ihr Modell optimiert ist. Sie können den folgenden CLI-Befehl verwenden, um einen Benchmark auszuführen:

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

Dieser Befehl liefert Ihnen wichtige Leistungsmetriken. Weitere Informationen finden Sie im Abschnitt Benchmarking der Leistung.

Warum sollte ich Neural Magic's DeepSparse mit YOLO11 für Objekterkennungsaufgaben verwenden?

Die Integration von Neural Magic's DeepSparse mit YOLO11 bietet mehrere Vorteile:

  • Erhöhte Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS, was die Fähigkeiten von YOLO11 deutlich beschleunigt.
  • Optimierte Modelleffizienz: Nutzt Sparsity-, Pruning- und Quantisierungstechniken, um die Modellgröße und den Rechenbedarf zu reduzieren und gleichzeitig die Genauigkeit zu erhalten.
  • Hohe Leistung auf Standard-CPUs: Bietet GPU-ähnliche Leistung auf kostengünstiger CPU-Hardware.
  • Optimierte Integration: Benutzerfreundliche Tools für einfache Bereitstellung und Integration.
  • Flexibilität: Unterstützt sowohl Standard- als auch für Sparsity optimierte YOLO11-Modelle.
  • Kosteneffektiv: Reduziert die Betriebskosten durch effiziente Ressourcennutzung.

Für ein tieferes Verständnis dieser Vorteile besuchen Sie den Abschnitt Vorteile der Integration von Neural Magic's DeepSparse in YOLO11.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 7 Tagen

Kommentare