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