Zum Inhalt springen

Optimierung von YOLO11 Inferenzen mit Neural Magic's DeepSparse Engine

Beim Einsatz von Objekterkennungsmodellen wie Ultralytics YOLO11 auf unterschiedlicher Hardware, können Sie auf einzigartige Probleme wie die Optimierung stoßen. Hier setzt die Integration von YOLO11 mit der DeepSparse Engine von Neural Magic an. Sie verändert die Art und Weise, wie YOLO11 Modelle ausgeführt werden und ermöglicht GPU-Level Performance direkt auf CPUs.

Dieser Leitfaden zeigt Ihnen, wie Sie YOLO11 mit Neural Magic's DeepSparse einsetzen, wie Sie Inferenzen durchführen und wie Sie die Leistung messen, um sicherzustellen, dass sie optimiert ist.

Neural Magic's DeepSparse

Neural Magic's DeepSparse Übersicht

Neural MagicDeepSparse ist eine Inferenz-Laufzeit, die für die Optimierung der Ausführung neuronaler Netze auf CPUs entwickelt wurde. Sie wendet fortschrittliche Techniken wie Sparsity, Pruning und Quantisierung an, um den Rechenaufwand bei gleichbleibender Genauigkeit drastisch zu reduzieren. DeepSparse bietet eine flexible Lösung für die effiziente und skalierbare Ausführung neuronaler Netze auf verschiedenen Geräten.

Vorteile der Integration von Neural Magic's DeepSparse mit YOLO11

Bevor wir auf die Bereitstellung von YOLOV8 mit DeepSparse eingehen, sollten wir die Vorteile der Verwendung von DeepSparse verstehen. Einige der wichtigsten Vorteile sind:

  • Verbesserte Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (auf YOLO11n), was die Inferenzfähigkeiten von YOLO11 im Vergleich zu herkömmlichen Methoden erheblich beschleunigt.

Erhöhte Inferenzgeschwindigkeit

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

Optimierte Modelleffizienz

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

  • Optimierte Integration und Bereitstellung: Bietet benutzerfreundliche Tools für die einfache Integration von YOLO11 in Anwendungen, einschließlich Bild- und Videoanmerkungsfunktionen.

  • Unterstützung für verschiedene Modelltypen: Kompatibel mit Standard- und sparsamkeitsoptimierten Modellen YOLO11 für mehr Flexibilität bei der Bereitstellung.

  • Kosteneffiziente und skalierbare Lösung: Reduziert die Betriebskosten und bietet eine skalierbare Bereitstellung von fortschrittlichen Objekterkennungsmodellen.

Wie funktioniert Neural Magic's DeepSparse Technologie?

Neural MagicDie Deep Sparse-Technologie ist von der Effizienz des menschlichen Gehirns bei der Berechnung neuronaler Netzwerke inspiriert. Sie übernimmt zwei Schlüsselprinzipien des Gehirns::

  • Sparsamkeit: Bei der Sparsifizierung werden überflüssige Informationen aus Deep-Learning-Netzen entfernt, was zu kleineren und schnelleren Modellen führt, ohne dass die Genauigkeit darunter leidet. 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 Columns unterteilt wird. Diese Spalten werden in der Tiefe ausgeführt und passen vollständig in den Cache von CPU. Dieser Ansatz ahmt die Effizienz des Gehirns nach, minimiert die Datenbewegungen und maximiert die Nutzung des Cache von CPU.

Wie funktioniert Neural Magic's DeepSparse Technologie

Weitere Details zur Funktionsweise der DeepSparse-Technologie von Neural Magic finden Sie in ihrem Blogbeitrag.

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 vorgesparsten YOLO11 Modellprüfpunkten. Mit SparseML, das nahtlos in Ultralytics integriert ist, können Benutzer diese Sparse-Checkpoints mühelos über eine einfache Befehlszeilenschnittstelle an ihren spezifischen Datensätzen feinabstimmen.

Weitere Einzelheiten finden Sie in der Dokumentation zu SparseML unter Neural Magic YOLO11 .

Verwendung: Bereitstellung von YOLOV8 mit DeepSparse

Der Einsatz von YOLO11 mit Neural Magic's DeepSparse umfasst ein paar einfache Schritte. Bevor Sie sich mit den Nutzungsanweisungen befassen, sollten Sie sich die Palette der YOLO11 Modelle ansehen, die von Ultralytics angeboten werden. 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 aus:

Einrichtung

# Install the required packages
pip install deepsparse[yolov8]

Schritt 2: Exportieren von YOLO11 in das Format ONNX

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:

Modell Export

# 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 Ihrer Festplatte.

Schritt 3: Einsetzen und Ausführen von Schlussfolgerungen

Wenn Sie Ihr YOLO11 Modell im ONNX Format haben, können Sie mit DeepSparse Inferenzen erstellen und ausführen. Dies kann ganz einfach über die intuitive Python API erfolgen:

Einsetzen und Ausführen von Schlussfolgerungen

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: Benchmarking der Leistung

Es ist wichtig, zu überprüfen, ob Ihr YOLO11 Modell auf DeepSparse optimal funktioniert. Sie können die Leistung Ihres Modells messen, 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 Datensatzauswertung.

Zusätzliche Merkmale

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

Der Befehl annotate verarbeitet das angegebene Bild, erkennt Objekte und speichert das annotierte Bild mit Begrenzungsrahmen und Klassifizierungen. Das mit Anmerkungen versehene Bild wird in einem Ordner "Annotation-Results" gespeichert. Auf diese Weise wird eine visuelle Darstellung der Erkennungsfähigkeiten des Modells ermöglicht.

Bildkommentar-Funktion

Nach der Ausführung des eval-Befehls erhalten Sie detaillierte Ausgabemetriken wie Präzision, Recall und mAP (mittlere durchschnittliche Präzision). Dadurch erhalten Sie einen umfassenden Überblick über die Leistung Ihres Modells auf dem Datensatz. Diese Funktion ist besonders nützlich für die Feinabstimmung und Optimierung Ihrer YOLO11 Modelle für bestimmte Anwendungsfälle, um eine hohe Genauigkeit und Effizienz zu gewährleisten.

Zusammenfassung

Dieser Leitfaden untersucht die Integration von Ultralytics' YOLO11 mit Neural Magic's DeepSparse Engine. Es wird hervorgehoben, wie diese Integration die Leistung von YOLO11 auf CPU Plattformen verbessert und GPU Effizienz und fortschrittliche Sparsity-Techniken für neuronale Netzwerke bietet.

Ausführlichere Informationen und fortgeschrittene Verwendung finden Sie in der DeepSparse-Dokumentation vonNeural Magic. Sehen Sie sich auch die Dokumentation von Neural Magic zur Integration mit YOLO11 an und sehen Sie sich hier eine großartige Sitzung dazu an.

Wenn Sie mehr über die verschiedenen Integrationsmöglichkeiten von YOLO11 erfahren möchten, besuchen Sie die SeiteUltralytics , auf der Sie eine Reihe weiterer interessanter Integrationsmöglichkeiten entdecken können.

FAQ

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

Neural MagicDie DeepSparse-Engine ist eine Inferenz-Laufzeitumgebung, 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 erreichen und so die Inferenzgeschwindigkeit, Modelleffizienz und Gesamtleistung bei gleichbleibender Genauigkeit erheblich verbessern. Weitere Einzelheiten finden Sie im Abschnitt DeepSparse aufNeural Magic.

Wie kann ich die benötigten Pakete installieren, um YOLO11 mit Neural Magic's DeepSparse einzusetzen?

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

pip install deepsparse[yolov8]

Nach der Installation folgen Sie den Schritten im Abschnitt Installation, um Ihre Umgebung einzurichten und DeepSparse mit YOLO11 zu verwenden.

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

Um YOLO11 -Modelle in das Format ONNX zu konvertieren, das für die Kompatibilität mit DeepSparse erforderlich ist, können Sie den folgenden Befehl CLI 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), die von der DeepSparse Engine genutzt werden können. Weitere Informationen zum Modellexport finden Sie in der Abschnitt Modellexport.

Wie kann ich die Leistung von YOLO11 mit der DeepSparse Engine vergleichen?

Das Benchmarking der Leistung von YOLO11 auf DeepSparse hilft Ihnen bei der Analyse von Durchsatz und Latenz, um sicherzustellen, dass Ihr Modell optimiert ist. Sie können den folgenden CLI Befehl verwenden, um einen Benchmark durchzuführen:

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

Dieser Befehl liefert Ihnen wichtige Leistungskennzahlen. Weitere Einzelheiten 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:

  • Verbesserte Inferenzgeschwindigkeit: Erzielt bis zu 525 FPS, was die Fähigkeiten von YOLO11 erheblich beschleunigt.
  • Optimierte Modelleffizienz: Verwendet Sparsity-, Pruning- und Quantisierungstechniken, um die Modellgröße und den Rechenaufwand 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 eine einfache Bereitstellung und Integration.
  • Flexibel: Unterstützt sowohl Standard- als auch für Sparsamkeit optimierte Modelle YOLO11 .
  • Kosteneffektiv: Reduziert die Betriebskosten durch effiziente Ressourcennutzung.

Für einen tieferen Einblick in diese Vorteile, besuchen Sie den Abschnitt Vorteile der Integration von Neural Magic's DeepSparse mit YOLO11 .

📅 Erstellt vor 11 Monaten ✏️ Aktualisiert vor 2 Monaten

Kommentare