Ultralytics YOLO27:
Get Started

YOLO26-Inferenz mit Neural Magics DeepSparse Engine optimieren#

Wenn du Objekterkennungsmodelle wie Ultralytics YOLO26 auf unterschiedlicher Hardware bereitstellst, kannst du auf besondere Herausforderungen wie die Optimierung stoßen. Hier kommt die Integration von YOLO26 mit Neural Magics DeepSparse Engine ins Spiel. Sie verändert die Ausführung von YOLO26-Modellen und ermöglicht direkt auf CPUs eine Leistung auf GPU-Niveau.

Dieser Leitfaden zeigt dir, wie du YOLO26 mit Neural Magics DeepSparse bereitstellst, Inferenz ausführst und die Leistung vergleichst, um sicherzustellen, dass sie optimiert ist.

Ende des Supports für SparseML

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 im Hinweis in der Readme-Datei des GitHub-Repositorys sparsify.

Neural Magics DeepSparse#

Neural Magic's DeepSparse Overview

Neural Magics DeepSparse ist eine Inferenzlaufzeitumgebung, die die Ausführung neuronaler Netze auf CPUs optimiert. Sie verwendet fortschrittliche Techniken wie Sparsifizierung, Pruning und Quantisierung, um den Rechenaufwand drastisch zu verringern und dabei 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 Neural Magics DeepSparse mit YOLO26#

Bevor wir uns damit befassen, wie du YOLO26 mit DeepSparse bereitstellst, sehen wir uns die Vorteile von DeepSparse an. Zu den wichtigsten Vorteilen zählen:

  • Höhere Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (mit YOLOv8n) und beschleunigt die Inferenz von YOLO im Vergleich zu herkömmlichen Methoden erheblich.

Neural Magic DeepSparse inference acceleration

  • Optimierte Modelleffizienz: Nutzt Pruning und Quantisierung, um die Effizienz von YOLO26 zu steigern und Modellgröße sowie Rechenaufwand zu verringern, ohne die Genauigkeit zu beeinträchtigen.

Neural Magic model optimization and pruning

  • Hohe Leistung auf Standard-CPUs: Bietet auf CPUs eine Leistung ähnlich der von GPUs und damit eine zugänglichere und kostengünstigere Option für vielfältige Anwendungen.

  • Vereinfachte Integration und Bereitstellung: Bietet benutzerfreundliche Werkzeuge, mit denen sich YOLO26 einfach in Anwendungen integrieren lässt, einschließlich Funktionen zur Bild- und Videoannotation.

  • Unterstützung verschiedener Modelltypen: Kompatibel mit standardmäßigen und für Sparsifizierung optimierten YOLO-Modellen und bietet dadurch mehr Flexibilität bei der Bereitstellung.

  • Kostengünstige und skalierbare Lösung: Senkt die Betriebskosten und ermöglicht die skalierbare Bereitstellung fortschrittlicher Modelle zur Objekterkennung.

Wie funktioniert die DeepSparse-Technologie von Neural Magic?#

Die DeepSparse-Technologie von Neural Magic orientiert sich an der Effizienz, mit der das menschliche Gehirn Berechnungen in neuronalen Netzen ausführt. Sie übernimmt zwei zentrale Prinzipien des Gehirns:

  • Sparsifizierung: Bei der Sparsifizierung werden überflüssige Informationen aus Deep-Learning-Netzen entfernt. So entstehen kleinere und schnellere Modelle, ohne die Genauigkeit zu beeinträchtigen. Diese Technik verringert die Größe des Netzes und den Rechenaufwand erheblich.

  • Lokalität von Referenzen: DeepSparse verwendet eine spezielle Ausführungsmethode und unterteilt das Netzwerk in Tensor Columns. Diese Spalten werden tiefenweise ausgeführt und passen vollständig in den CPU-Cache. Dieser Ansatz ahmt die Effizienz des Gehirns nach, minimiert die Datenbewegung und nutzt den CPU-Cache bestmöglich.

How Neural Magic's DeepSparse Technology Works

Eine dünn besetzte Version von YOLO26 mit einem benutzerdefinierten Datensatz trainieren#

SparseZoo, ein Open-Source-Modell-Repository von Neural Magic, bietet eine Sammlung vorab sparsifizierter YOLOv8-Modellprüfpunkte. Mit SparseML, das nahtlos in Ultralytics integriert ist, können Nutzer diese dünn besetzten Prüfpunkte ganz einfach über eine unkomplizierte Befehlszeilenschnittstelle an ihre jeweiligen Datensätze anpassen.

Weitere Einzelheiten findest du in der Dokumentation zu Neural Magics SparseML für YOLOv8.

Verwendung: YOLO26 mit DeepSparse bereitstellen#

Die Bereitstellung von YOLO26 mit Neural Magics DeepSparse umfasst einige einfache Schritte. Bevor du mit den Anweisungen zur Verwendung beginnst, sieh dir unbedingt die Auswahl an YOLO26-Modellen von Ultralytics an. So findest du das Modell, das am besten zu den Anforderungen deines Projekts passt. So kannst du loslegen.

Schritt 1: Installation#

Führe zum Installieren der erforderlichen Pakete Folgendes aus:

Installation
# Install the required packages
pip install deepsparse[yolov8]

Schritt 2: YOLO26 ins 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. Exportiere YOLO26-Modelle mit folgendem Befehl:

Modell-Export
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13

Mit diesem Befehl wird das Modell yolo26n.onnx auf deiner Festplatte gespeichert.

Schritt 3: Inferenz bereitstellen und ausführen#

Mit deinem YOLO26-Modell im ONNX-Format kannst du mithilfe von DeepSparse Inferenz bereitstellen und ausführen. Das geht ganz einfach mit der intuitiven Python-API:

Inferenz bereitstellen und ausführen
from deepsparse import Pipeline

# Den Pfad zu deinem YOLO26-ONNX-Modell angeben
model_path = "path/to/yolo26n.onnx"

# Die DeepSparse-Pipeline einrichten
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)

# Das Modell auf deinen Bildern ausführen
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)

Schritt 4: Leistung messen#

Es ist wichtig zu prüfen, ob dein YOLO26-Modell auf DeepSparse optimal läuft. Du kannst die Leistung deines Modells benchmarken, um Durchsatz und Latenz zu analysieren:

Benchmarking
# 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, etwa für die Bildannotation und die Datensatzbewertung.

Zusätzliche Funktionen
# 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"

Mit dem Befehl annotate wird das angegebene Bild verarbeitet, Objekte werden erkannt und das annotierte Bild mit Begrenzungsrahmen und Klassifizierungen gespeichert. Das annotierte Bild wird in einem Ordner namens annotation-results abgelegt. So erhältst du eine visuelle Darstellung der Erkennungsfähigkeiten des Modells.

Neural Magic annotation feature interface

Nach dem Ausführen des Befehls eval erhältst du detaillierte Kennzahlen wie Präzision, Trefferquote und mAP (mittlere Average Precision). So erhältst du einen umfassenden Überblick über die Leistung deines Modells auf dem Datensatz. Das ist besonders nützlich, um deine YOLO26-Modelle für bestimmte Anwendungsfälle fein abzustimmen und zu optimieren und dabei hohe Genauigkeit und Effizienz sicherzustellen.

Zusammenfassung#

In dieser Anleitung wurde die Integration von Ultralytics YOLO26 mit Neural Magics DeepSparse Engine behandelt. Sie zeigte, wie diese Integration die Leistung von YOLO26 auf CPU-Plattformen steigert und dabei Effizienz auf GPU-Niveau sowie fortschrittliche Techniken zur Ausdünnung neuronaler Netze bietet.

Ausführlichere Informationen und Hinweise zur fortgeschrittenen Nutzung findest du im DeepSparse-Repository von Neural Magic. Außerdem kannst du die Integrationsanleitung für YOLOv8 ansehen und eine Einführungssitzung auf YouTube ansehen.

Einen umfassenderen Überblick über die verschiedenen YOLO26-Integrationen findest du außerdem auf der Ultralytics-Seite mit Integrationsanleitungen. Dort entdeckst du zahlreiche weitere interessante Integrationsmöglichkeiten.

Häufig gestellte Fragen#

  • Neural Magics DeepSparse Engine ist eine Inferenzlaufzeitumgebung, die die Ausführung neuronaler Netze auf CPUs mithilfe fortschrittlicher Techniken wie Ausdünnung, Pruning und Quantisierung optimiert. Durch die Integration von DeepSparse mit YOLO26 erzielst du auf herkömmlichen CPUs eine Leistung ähnlich der von GPUs und verbesserst deutlich die Inferenzgeschwindigkeit, die Modelleffizienz und die Gesamtleistung, ohne die Genauigkeit zu beeinträchtigen. Weitere Einzelheiten findest du im Abschnitt zu DeepSparse von Neural Magic.

  • Die Installation der erforderlichen Pakete für die Bereitstellung von YOLO26 mit Neural Magics DeepSparse ist unkompliziert. Du kannst sie ganz einfach über die CLI installieren. Führe dazu diesen Befehl aus:

    pip install deepsparse[yolov8]

    Folge nach der Installation den Schritten 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=13

    Mit diesem Befehl exportierst du 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.

  • Das Messen der Leistung von YOLO26 mit DeepSparse hilft dir, Durchsatz und Latenz zu analysieren und sicherzustellen, 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 Einzelheiten findest du im Abschnitt Leistungsmessung.

  • Die Integration von Neural Magics DeepSparse mit YOLO26 bietet mehrere Vorteile:

    • Höhere Inferenzgeschwindigkeit: Erreicht bis zu 525 FPS (mit YOLOv8n) und zeigt damit die Optimierungsfähigkeit von DeepSparse.
    • Optimierte Modelleffizienz: Nutzt Techniken wie Ausdünnung, Pruning und Quantisierung, um Modellgröße und Rechenaufwand zu reduzieren und gleichzeitig die Genauigkeit zu erhalten.
    • Hohe Leistung auf herkömmlichen CPUs: Bietet Leistung ähnlich der von GPUs auf kostengünstiger CPU-Hardware.
    • Einfache Integration: Benutzerfreundliche Werkzeuge für eine unkomplizierte Bereitstellung und Integration.
    • Flexibilität: Unterstützt sowohl herkömmliche als auch auf Ausdünnung optimierte YOLO-Modelle.
    • Kosteneffizienz: Senkt die Betriebskosten durch effiziente Ressourcennutzung.

    Eine ausführlichere Erläuterung dieser Vorteile findest du im Abschnitt zu den Vorteilen der Integration von Neural Magics DeepSparse mit YOLO26.

Kommentare