Optimierung von YOLO26-Inferenz mit der DeepSparse Engine von Neural Magic
Wenn du Objekterkennungsmodelle wie Ultralytics YOLO26 auf verschiedener Hardware bereitstellst, kannst du auf einzigartige Herausforderungen wie die Optimierung stoßen. Genau hier setzt die Integration von YOLO26 mit der DeepSparse Engine von Neural Magic an. Sie verändert die Art und Weise, wie YOLO26-Modelle ausgeführt werden, und ermöglicht GPU-ähnliche Leistung direkt auf CPUs.
Dieser Leitfaden zeigt dir, wie du YOLO26 mit DeepSparse von Neural Magic bereitstellst, wie du Inferenzen ausführst und wie du die Leistung benchmarkst, um sicherzustellen, dass sie optimiert ist.
Neural Magic wurde im Januar 2025 von Red Hat übernommen und stellt die Community-Versionen ihrer Bibliotheken deepsparse, sparseml, sparsezoo und sparsify ein. Weitere Informationen findest du in der Mitteilung im Readme des sparseml-GitHub-Repositorys.
DeepSparse von Neural Magic
DeepSparse von Neural Magic ist eine Inferenz-Laufzeitumgebung, die darauf ausgelegt ist, die Ausführung neuronaler Netze auf CPUs zu optimieren. Sie wendet fortschrittliche Techniken wie Sparsity, Pruning und Quantisierung an, um den Rechenbedarf drastisch zu reduzieren und gleichzeitig die Genauigkeit beizubehalten. DeepSparse bietet eine agile Lösung für die effiziente und skalierbare Ausführung neuronaler Netze auf verschiedenen Geräten.
Vorteile der Integration von DeepSparse von Neural Magic mit YOLO26
Bevor wir uns damit befassen, wie du YOLO26 mit DeepSparse bereitstellst, lass uns die Vorteile der Verwendung von DeepSparse verstehen. Einige wichtige Vorteile sind:
- Verbesserte Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (bei YOLO11n) und beschleunigt die Inferenzfähigkeiten von YOLO im Vergleich zu herkömmlichen Methoden erheblich.
- Optimierte Modelleffizienz: Nutzt Pruning und Quantisierung, um die Effizienz von YOLO26 zu verbessern, wodurch die Modellgröße und der Rechenbedarf bei gleichbleibender Genauigkeit reduziert werden.
-
Hohe Leistung auf Standard-CPUs: Liefert 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 für eine einfache Integration von YOLO26 in Anwendungen, einschließlich Bild- und Videoannotationsfunktionen.
-
Unterstützung für verschiedene Modelltypen: Kompatibel mit sowohl Standard- als auch Sparsity-optimierten YOLO26-Modellen, was die Flexibilität bei der Bereitstellung erhöht.
-
Kosteneffiziente und skalierbare Lösung: Senkt die Betriebskosten und bietet eine skalierbare Bereitstellung fortschrittlicher Objekterkennungsmodelle.
Wie funktioniert die DeepSparse-Technologie von Neural Magic?
Die DeepSparse-Technologie von Neural Magic ist von der Effizienz des menschlichen Gehirns bei der Berechnung neuronaler Netze inspiriert. Sie übernimmt zwei Schlüsselprinzipien des Gehirns wie folgt:
-
Sparsity: 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 Rechenaufwand erheblich.
-
Lokalität der Referenz: DeepSparse verwendet eine einzigartige Ausführungsmethode, bei der das Netzwerk in Tensor-Spalten unterteilt wird. Diese Spalten werden tiefenorientiert ausgeführt und passen vollständig in den Cache der CPU. Dieser Ansatz ahmt die Effizienz des Gehirns nach, minimiert den Datentransfer und maximiert die Nutzung des CPU-Caches.
Erstellen einer Sparse-Version von YOLO26, die auf einem benutzerdefinierten Datensatz trainiert wurde
SparseZoo, ein Open-Source-Modell-Repository von Neural Magic, bietet eine Sammlung vor-sparsifizierter YOLO26-Modell-Checkpoints. Mit SparseML, das nahtlos in Ultralytics integriert ist, können Benutzer diese Sparse-Checkpoints mühelos auf ihren spezifischen Datensätzen über eine einfache Befehlszeilenschnittstelle feinabstimmen.
Sieh dir die SparseML YOLO26-Dokumentation von Neural Magic für weitere Details an.
Nutzung: Bereitstellung von YOLO26 mit DeepSparse
Die Bereitstellung von YOLO26 mit DeepSparse von Neural Magic erfordert ein paar einfache Schritte. Bevor du mit den Nutzungshinweisen beginnst, schau dir unbedingt die Reihe der von Ultralytics angebotenen YOLO26-Modelle an. Dies hilft dir, das am besten geeignete Modell für deine Projektanforderungen auszuwählen. Hier erfährst du, wie du loslegen kannst.
Schritt 1: Installation
Um die erforderlichen Pakete zu installieren, führe Folgendes aus:
# Install the required packages
pip install deepsparse[yolov8]Schritt 2: Exportieren von YOLO26 in das ONNX-Format
Die DeepSparse Engine erfordert YOLO26-Modelle im ONNX-Format. Das Exportieren deines Modells in dieses Format ist für die Kompatibilität mit DeepSparse unerlässlich. Verwende den folgenden Befehl, um YOLO26-Modelle zu exportieren:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Dieser Befehl speichert das yolo26n.onnx-Modell auf deinem Datenträger.
Schritt 3: Bereitstellung und Ausführung von Inferenzen
Mit deinem YOLO26-Modell im ONNX-Format kannst du Inferenzen mit DeepSparse bereitstellen und ausführen. Dies lässt sich einfach mit deren intuitiver Python-API erledigen:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.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 dein YOLO26-Modell auf DeepSparse optimal läuft. Du kannst ein Benchmark der Leistung deines Modells durchführen, um Durchsatz und Latenz zu analysieren:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.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 YOLO26 in Anwendungen, wie z. B. Bildannotation und Datensatzbewertung.
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"Die Ausführung des Annotate-Befehls verarbeitet dein angegebenes Bild, erkennt Objekte und speichert das annotierte Bild mit Bounding Boxes und Klassifizierungen. Das annotierte Bild wird in einem Ordner namens annotation-results gespeichert. Dies hilft dabei, eine visuelle Darstellung der Erkennungsfähigkeiten des Modells bereitzustellen.
Nachdem du den Eval-Befehl ausgeführt hast, erhältst du detaillierte Ausgabemetriken wie Präzision, Recall und mAP (mean Average Precision). Dies bietet einen umfassenden Überblick über die Leistung deines Modells auf dem Datensatz und ist besonders nützlich für das Finetuning und die Optimierung deiner YOLO26-Modelle für spezifische Anwendungsfälle, um eine hohe Genauigkeit und Effizienz zu gewährleisten.
Zusammenfassung
In diesem Leitfaden wurde die Integration von Ultralytics YOLO26 mit der DeepSparse Engine von Neural Magic untersucht. Er hob hervor, wie diese Integration die Leistung von YOLO26 auf CPU-Plattformen verbessert, indem sie GPU-ähnliche Effizienz und fortschrittliche Techniken zur Sparsity neuronaler Netze bietet.
Für detailliertere Informationen und fortgeschrittene Nutzung besuche die DeepSparse-Dokumentation von Neural Magic. Du kannst auch den YOLO26-Integrationsleitfaden erkunden und dir eine Walkthrough-Sitzung auf YouTube ansehen.
Besuche zusätzlich für ein breiteres Verständnis verschiedener YOLO26-Integrationen die Seite des Ultralytics-Integrationsleitfadens, wo du eine Reihe weiterer spannender Integrationsmöglichkeiten entdecken kannst.
FAQ
Was ist die DeepSparse Engine von Neural Magic und wie optimiert sie die Leistung von YOLO26?
Die DeepSparse Engine von Neural Magic ist eine Inferenz-Laufzeitumgebung, die darauf ausgelegt ist, die Ausführung neuronaler Netze auf CPUs durch fortschrittliche Techniken wie Sparsity, Pruning und Quantisierung zu optimieren. Durch die Integration von DeepSparse mit YOLO26 kannst du GPU-ähnliche Leistung auf Standard-CPUs erzielen, was die Inferenzgeschwindigkeit, die Modelleffizienz und die Gesamtleistung erheblich verbessert, während die Genauigkeit gewahrt bleibt. Weitere Details findest du im Abschnitt DeepSparse von Neural Magic.
Wie kann ich die benötigten Pakete installieren, um YOLO26 mit DeepSparse von Neural Magic bereitzustellen?
Die Installation der erforderlichen Pakete für die Bereitstellung von YOLO26 mit DeepSparse von Neural Magic ist einfach. Du kannst sie bequem über die CLI installieren. Hier ist der Befehl, den du ausführen musst:
pip install deepsparse[yolov8]Sobald die Installation abgeschlossen ist, befolge die Schritte im Abschnitt Installation, um deine Umgebung einzurichten und mit der Verwendung von DeepSparse mit YOLO26 zu beginnen.
Wie konvertiere ich YOLO26-Modelle in das ONNX-Format für die Verwendung mit DeepSparse?
Um YOLO26-Modelle in das ONNX-Format zu konvertieren, das für die Kompatibilität mit DeepSparse erforderlich ist, kannst du den folgenden CLI-Befehl verwenden:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Dieser Befehl exportiert dein YOLO26-Modell (yolo26n.pt) in ein Format (yolo26n.onnx), das von der DeepSparse Engine genutzt werden kann. Weitere Informationen zum Modellexport findest du im Abschnitt Modellexport.
Wie benche ich die Leistung von YOLO26 auf der DeepSparse Engine?
Das Benchmarking der YOLO26-Leistung auf DeepSparse hilft dir, Durchsatz und Latenz zu analysieren, um sicherzustellen, dass dein Modell optimiert ist. Du kannst den folgenden CLI-Befehl verwenden, um einen Benchmark auszuführen:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Dieser Befehl liefert dir wichtige Leistungsmetriken. Weitere Details findest du im Abschnitt Benchmarking der Leistung.
Warum sollte ich DeepSparse von Neural Magic mit YOLO26 für Objekterkennungsaufgaben verwenden?
Die Integration von DeepSparse von Neural Magic mit YOLO26 bietet mehrere Vorteile:
- Verbesserte Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (bei YOLO11n), was die Optimierungsmöglichkeiten von DeepSparse demonstriert.
- Optimierte Modelleffizienz: Verwendet Sparsity-, Pruning- und Quantisierungstechniken, um die Modellgröße und den Rechenbedarf bei gleichbleibender Genauigkeit zu reduzieren.
- 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.
- Flexibilität: Unterstützt sowohl Standard- als auch Sparsity-optimierte YOLO26-Modelle.
- Kosteneffektiv: Senkt die Betriebskosten durch effiziente Ressourcennutzung.
Für einen tieferen Einblick in diese Vorteile besuche den Abschnitt Vorteile der Integration von DeepSparse von Neural Magic mit YOLO26.