YOLO26-Inferenzen mit der DeepSparse-Engine von Neural Magic optimieren#
Wenn du Objekterkennungsmodelle wie Ultralytics YOLO26 auf verschiedener Hardware einsetzt, können besondere Herausforderungen wie die Optimierung auftreten. Hier kommt die Integration von YOLO26 mit der DeepSparse-Engine von Neural Magic ins Spiel. Sie verändert die Ausführung von YOLO26-Modellen und ermöglicht direkt auf CPUs eine Leistung auf GPU-Niveau.
Diese Anleitung zeigt dir, wie du YOLO26 mit DeepSparse von Neural Magic bereitstellst, Inferenzen ausführst und die Leistung benchmarkst, um sicherzustellen, dass sie optimiert ist.
Neural Magic wurde im Januar 2025 von Red Hat übernommen und stellt die Community-Versionen der Bibliotheken deepsparse, sparseml, sparsezoo und sparsify ein. Weitere Informationen findest du in der Mitteilung im Readme des sparsify-GitHub-Repositorys.
DeepSparse von Neural Magic#
DeepSparse von Neural Magic ist eine Laufzeitumgebung für Inferenzen, die die Ausführung neuronaler Netze auf CPUs optimiert. Sie wendet fortschrittliche Verfahren wie Sparsifizierung, Pruning und Quantisierung an, um den Rechenaufwand deutlich zu verringern und gleichzeitig die Genauigkeit beizubehalten. DeepSparse bietet eine flexible 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 ansehen, wie du YOLO26 mit DeepSparse bereitstellst, betrachten wir zunächst die Vorteile von DeepSparse. Zu den wichtigsten Vorzügen gehören:
- Höhere Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (bei YOLO11n) und beschleunigt die Inferenz von YOLO damit deutlich im Vergleich zu herkömmlichen Verfahren.
- Optimierte Modelleffizienz: Verwendet Pruning und Quantisierung, um die Effizienz von YOLO26 zu steigern und die Modellgröße sowie den Rechenbedarf zu reduzieren, während die Genauigkeit erhalten bleibt.
-
Hohe Leistung auf Standard-CPUs: Liefert eine Leistung auf GPU-Niveau auf CPUs und bietet damit eine leichter zugängliche und kostengünstigere Option für verschiedene Anwendungen.
-
Vereinfachte Integration und Bereitstellung: Bietet benutzerfreundliche Werkzeuge für die einfache Integration von YOLO26 in Anwendungen, einschließlich Funktionen zur Bild- und Videoannotation.
-
Unterstützung verschiedener Modelltypen: Ist sowohl mit standardmäßigen als auch mit für Sparsifizierung optimierten YOLO26-Modellen kompatibel und bietet dadurch mehr Flexibilität bei der Bereitstellung.
-
Kostengünstige und skalierbare Lösung: Senkt die Betriebskosten und ermöglicht die skalierbare Bereitstellung moderner 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 mit neuronalen Netzen inspiriert. Sie übernimmt daraus die folgenden zwei zentralen Prinzipien:
-
Sparsität: Bei der Sparsifizierung werden redundante Informationen aus Deep-Learning-Netzen entfernt. Dadurch entstehen kleinere und schnellere Modelle, ohne die Genauigkeit zu beeinträchtigen. Dieses Verfahren verringert die Größe des Netzes und seinen Rechenbedarf erheblich.
-
Referenzlokalität: DeepSparse verwendet eine besondere Ausführungsmethode und unterteilt das Netz in Tensor-Spalten. Diese Spalten werden in der Tiefe ausgeführt und passen vollständig in den Cache der CPU. Dieser Ansatz ahmt die Effizienz des Gehirns nach, minimiert Datenbewegungen und nutzt den CPU-Cache optimal.
Erstellen einer sparsifizierten Version von YOLO26, die auf einem benutzerdefinierten Datensatz trainiert wurde#
SparseZoo, ein Open-Source-Modellarchiv von Neural Magic, bietet eine Sammlung vorab sparsifizierter YOLO26-Modellprüfpunkte. Mit SparseML, das nahtlos in Ultralytics integriert ist, kannst du diese sparsifizierten Prüfpunkte mithilfe einer einfachen Befehlszeilenschnittstelle problemlos auf deinen spezifischen Datensätzen feinabstimmen.
Weitere Informationen findest du in der SparseML-YOLO26-Dokumentation von Neural Magic.
Verwendung: YOLO26 mit DeepSparse bereitstellen#
Die Bereitstellung von YOLO26 mit DeepSparse von Neural Magic umfasst einige einfache Schritte. Bevor du mit den Anweisungen zur Verwendung beginnst, sieh dir unbedingt die Auswahl an YOLO26-Modellen von Ultralytics an. So kannst du das für deine Projektanforderungen am besten geeignete Modell auswählen. So beginnst du.
Schritt 1: Installation#
Führe zur Installation der erforderlichen Pakete Folgendes aus:
# Install the required packages
pip install deepsparse[yolov8]Schritt 2: YOLO26 in das ONNX-Format exportieren#
Die DeepSparse-Engine benötigt YOLO26-Modelle im ONNX-Format. Der Export 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 detect export model=yolo26n.pt format=onnx opset=13Dieser Befehl speichert das Modell yolo26n.onnx auf deiner Festplatte.
Schritt 3: Bereitstellen und Ausführen von Inferenzen#
Mit deinem YOLO26-Modell im ONNX-Format kannst du es mit DeepSparse bereitstellen und Inferenzen ausführen. Dies ist ganz einfach über die intuitive Python-API möglich:
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: Leistung benchmarken#
Es ist wichtig zu prüfen, ob dein YOLO26-Modell mit DeepSparse optimal arbeitet. Du kannst die Leistung deines Modells benchmarken, 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, beispielsweise zur Bildannotation und Datensatzauswertung.
# 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"Beim Ausführen des Befehls annotate wird das angegebene Bild verarbeitet, Objekte werden erkannt und das annotierte Bild mit Begrenzungsrahmen und Klassifikationen gespeichert. Das annotierte Bild wird in einem Ordner annotation-results abgelegt. Dadurch erhältst du eine visuelle Darstellung der Erkennungsfähigkeiten des Modells.
Nach der Ausführung des Befehls eval erhältst du detaillierte Kennzahlen wie Precision, Recall und mAP (mittlere durchschnittliche Präzision). Dies bietet einen umfassenden Überblick über die Leistung deines Modells auf dem Datensatz und ist besonders nützlich, um deine YOLO26-Modelle für bestimmte Anwendungsfälle feinabzustimmen und zu optimieren und dabei eine hohe Genauigkeit und Effizienz sicherzustellen.
Zusammenfassung#
Diese Anleitung hat die Integration von Ultralytics' YOLO26 mit der DeepSparse-Engine von Neural Magic behandelt. Sie hat gezeigt, wie diese Integration die Leistung von YOLO26 auf CPU-Plattformen steigert und dabei Effizienz auf GPU-Niveau sowie fortschrittliche Verfahren zur Sparsifizierung neuronaler Netze bietet.
Für detailliertere Informationen und erweiterte Nutzung besuche das DeepSparse repository by Neural Magic. Du kannst auch den explore the YOLO26 integration guide erkunden und dir watch a walkthrough session on YouTube ansehen.
Umfassendere Informationen zu verschiedenen YOLO26-Integrationen findest du außerdem auf der Ultralytics-Integrationsseite, auf der du zahlreiche weitere interessante Integrationsmöglichkeiten entdecken kannst.
FAQ#
Die DeepSparse-Engine von Neural Magic ist eine Laufzeitumgebung für Inferenzen, die mithilfe fortschrittlicher Verfahren wie Sparsität, Pruning und Quantisierung die Ausführung neuronaler Netze auf CPUs optimiert. Durch die Integration von DeepSparse mit YOLO26 kannst du auf Standard-CPUs eine Leistung auf GPU-Niveau erzielen und dadurch Inferenzgeschwindigkeit, Modelleffizienz und Gesamtleistung deutlich steigern, während die Genauigkeit erhalten bleibt. Weitere Informationen findest du im Abschnitt zu DeepSparse von Neural Magic.
Die Installation der erforderlichen Pakete für die Bereitstellung von YOLO26 mit DeepSparse von Neural Magic ist unkompliziert. Du kannst sie einfach über die CLI installieren. Hier ist der auszuführende Befehl:
pip install deepsparse[yolov8]Nach der Installation befolgst du die Schritte im Abschnitt Installation, um deine Umgebung einzurichten und DeepSparse mit YOLO26 zu verwenden.
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 detect 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 verwendet werden kann. Weitere Informationen zum Modellexport findest du im Abschnitt Modellexport.Durch das Benchmarking der YOLO26-Leistung mit DeepSparse kannst du Durchsatz und Latenz analysieren und sicherstellen, dass dein Modell optimiert ist. Mit dem folgenden CLI-Befehl kannst du einen Benchmark ausführen:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Dieser Befehl liefert dir wichtige Leistungskennzahlen. Weitere Informationen findest du im Abschnitt Leistung benchmarken.
Die Integration von DeepSparse von Neural Magic mit YOLO26 bietet mehrere Vorteile:
- Höhere Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (bei YOLO11n) und demonstriert damit die Optimierungsfähigkeiten von DeepSparse.
- Optimierte Modelleffizienz: Verwendet Verfahren wie Sparsität, Pruning und Quantisierung, um die Modellgröße und den Rechenbedarf zu reduzieren, während die Genauigkeit erhalten bleibt.
- Hohe Leistung auf Standard-CPUs: Bietet eine Leistung auf GPU-Niveau auf kostengünstiger CPU-Hardware.
- Vereinfachte Integration: Benutzerfreundliche Werkzeuge für die einfache Bereitstellung und Integration.
- Flexibilität: Unterstützt sowohl standardmäßige als auch für Sparsität optimierte YOLO26-Modelle.
- Kostengünstig: Senkt die Betriebskosten durch eine effiziente Ressourcennutzung.
Eine ausführlichere Betrachtung dieser Vorteile findest du im Abschnitt zu den Vorteilen der Integration von DeepSparse von Neural Magic mit YOLO26.