Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO NCNN-Export#

Das Bereitstellen von Computer Vision-Modellen auf Geräten mit begrenzter Rechenleistung, wie z. B. mobilen oder eingebetteten Systemen, erfordert eine sorgfältige Auswahl des Formats. Die Verwendung eines optimierten Formats stellt sicher, dass selbst ressourcenbeschränkte Geräte fortschrittliche Computer-Vision-Aufgaben effizient bewältigen können.

Der Export in das NCNN-Format ermöglicht es dir, deine Ultralytics YOLO26-Modelle für leichtgewichtige, gerätebasierte Anwendungen zu optimieren. Dieser Leitfaden beschreibt, wie du deine Modelle für eine verbesserte Leistung auf Mobil- und Embedded-Geräten in das NCNN-Format konvertierst.

Link to this sectionWarum in NCNN exportieren?#

NCNN high-performance neural network inference framework

Das NCNN-Framework, das von Tencent entwickelt wurde, ist ein leistungsstarkes Inferenz-Computing-Framework für neuronale Netze, das speziell für mobile Plattformen optimiert wurde, einschließlich Mobiltelefonen, Embedded-Geräten und IoT-Geräten. NCNN ist mit einer Vielzahl von Plattformen kompatibel, darunter Linux, Android, iOS und macOS.

NCNN ist für seine schnelle Verarbeitungsgeschwindigkeit auf mobilen CPUs bekannt und ermöglicht die schnelle Bereitstellung von Deep Learning-Modellen auf mobilen Plattformen, was es zu einer exzellenten Wahl für den Aufbau KI-gestützter Anwendungen macht.

Link to this sectionHauptmerkmale von NCNN-Modellen#

NCNN-Modelle bieten mehrere wichtige Funktionen, die Machine Learning direkt auf dem Gerät ermöglichen und Entwicklern dabei helfen, Modelle auf Mobil-, Embedded- und Edge-Geräten bereitzustellen:

  • Effizient und leistungsstark: NCNN-Modelle sind leichtgewichtig und für Mobil- sowie Embedded-Geräte wie den Raspberry Pi mit begrenzten Ressourcen optimiert, während sie eine hohe Genauigkeit bei Computer-Vision-Aufgaben beibehalten.

  • Quantisierung: NCNN unterstützt die Quantisierung, eine Technik, die die Präzision von Modellgewichten und -aktivierungen reduziert, um die Leistung zu verbessern und den Speicherbedarf zu verringern.

  • Kompatibilität: NCNN-Modelle sind mit gängigen Deep-Learning-Frameworks wie TensorFlow, Caffe und ONNX kompatibel, sodass Entwickler bestehende Modelle und Workflows nutzen können.

  • Benutzerfreundlichkeit: NCNN bietet benutzerfreundliche Tools zum Konvertieren von Modellen zwischen verschiedenen Formaten und gewährleistet so eine reibungslose Interoperabilität über verschiedene Entwicklungsumgebungen hinweg.

  • Vulkan GPU-Beschleunigung: NCNN unterstützt Vulkan für GPU-beschleunigte Inferenz über mehrere Anbieter hinweg, einschließlich AMD, Intel und anderen Nicht-NVIDIA-GPUs, was eine leistungsstarke Bereitstellung auf einer breiteren Palette von Hardware ermöglicht.

Link to this sectionBereitstellungsoptionen mit NCNN#

NCNN-Modelle sind mit einer Vielzahl von Bereitstellungsplattformen kompatibel:

  • Mobile Bereitstellung: Optimiert für Android und iOS, was eine nahtlose Integration in mobile Anwendungen für eine effiziente Inferenz auf dem Gerät ermöglicht.

  • Embedded Systems und IoT-Geräte: Ideal für ressourcenbeschränkte Geräte wie Raspberry Pi und NVIDIA Jetson. Wenn die Standard-Inferenz auf einem Raspberry Pi mit dem Ultralytics-Leitfaden nicht ausreicht, kann NCNN deutliche Leistungsverbesserungen bieten.

  • Desktop- und Server-Bereitstellung: Unterstützt die Bereitstellung auf Linux, Windows und macOS für Entwicklungs-, Trainings- und Evaluierungs-Workflows.

Link to this sectionVulkan GPU-Beschleunigung#

NCNN unterstützt GPU-Beschleunigung durch Vulkan und ermöglicht so eine leistungsstarke Inferenz auf einer Vielzahl von GPUs, einschließlich AMD, Intel und anderen Grafikkarten, die keine NVIDIA-GPUs sind. Dies ist besonders nützlich für:

  • GPU-Support herstellerübergreifend: Im Gegensatz zu CUDA, das auf NVIDIA-GPUs beschränkt ist, funktioniert Vulkan über verschiedene GPU-Hersteller hinweg.
  • Multi-GPU-Systeme: Wähle in Systemen mit mehreren GPUs ein spezifisches Vulkan-Gerät aus, indem du device="vulkan:0", device="vulkan:1" usw. verwendest.
  • Edge- und Desktop-Bereitstellungen: Nutze GPU-Beschleunigung auf Geräten, auf denen CUDA nicht verfügbar ist.

Um die Vulkan-Beschleunigung zu verwenden, gib das Vulkan-Gerät bei der Ausführung der Inferenz an:

Vulkan-Inferenz
from ultralytics import YOLO

# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")

# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")

# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")
Vulkan-Anforderungen

Stelle sicher, dass Vulkan-Treiber für deine GPU installiert sind. Die meisten modernen GPU-Treiber enthalten standardmäßig Vulkan-Unterstützung. Du kannst die Verfügbarkeit von Vulkan mit Tools wie vulkaninfo unter Linux oder dem Vulkan SDK unter Windows überprüfen.

Link to this sectionExport in NCNN: Konvertierung deines YOLO26-Modells#

Du kannst die Modellkompatibilität und Bereitstellungsflexibilität erweitern, indem du YOLO26-Modelle in das NCNN-Format konvertierst.

Link to this sectionUnterstützte Aufgaben#

Der NCNN-Export unterstützt den Standard-Ultralytics YOLO26-Aufgabensatz.

Link to this sectionInstallation#

Um die erforderlichen Pakete zu installieren, führe Folgendes aus:

Installation
# Install the required package for YOLO26
pip install ultralytics

Detaillierte Anweisungen und Best Practices findest du im Ultralytics-Installationsleitfaden. Falls Probleme auftreten, schau in unserem Leitfaden zu häufigen Problemen nach Lösungen.

Link to this sectionVerwendung#

Alle Ultralytics YOLO26-Modelle sind so konzipiert, dass sie den Export sofort unterstützen, was die Integration in deinen bevorzugten Bereitstellungs-Workflow erleichtert. Du kannst die vollständige Liste der unterstützten Exportformate und Konfigurationsoptionen einsehen, um das beste Setup für deine Anwendung auszuwählen.

Das NCNN-Format unterstützt die Modi Export, Predict und Validate. Exportiere dein Modell und lade das exportierte Modell dann, um die Inferenz auszuführen oder seine Genauigkeit zu validieren.

Export
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
Inferenz
from ultralytics import YOLO

# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validieren
from ultralytics import YOLO

# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionExport-Argumente#

ArgumentTypStandardBeschreibung
formatstr'ncnn'Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen definiert.
imgszint oder tuple640Gewünschte Bildgröße für den Modelleingang. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für spezifische Dimensionen sein.
halfboolFalseAktiviert die FP16-Quantisierung (Halbpräzision), was die Modellgröße reduziert und potenziell die Inferenz auf unterstützter Hardware beschleunigt.
batchint1Gibt die Batch-Größe für die Exportmodell-Inferenz an oder die maximale Anzahl an Bildern, die das exportierte Modell gleichzeitig im predict-Modus verarbeitet.
devicestrNoneGibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu), MPS für Apple Silicon (device=mps).

Weitere Einzelheiten zum Exportprozess findest du auf der Ultralytics-Dokumentationsseite zum Export.

Link to this sectionBereitstellung exportierter YOLO26 NCNN-Modelle#

Nachdem du deine Ultralytics YOLO26-Modelle in das NCNN-Format exportiert hast, kannst du sie mithilfe der Methode YOLO("yolo26n_ncnn_model/") bereitstellen, wie im obigen Nutzungsbeispiel gezeigt. Informationen zur plattformspezifischen Bereitstellung findest du in den folgenden Ressourcen:

  • Android: Erstelle und integriere NCNN-Modelle für die Objekterkennung in Android-Anwendungen.

  • macOS: Stelle NCNN-Modelle auf macOS-Systemen bereit.

  • Linux: Stelle NCNN-Modelle auf Linux-Geräten bereit, einschließlich Raspberry Pi und ähnlichen Embedded-Systemen.

  • Windows x64: Stelle NCNN-Modelle unter Windows x64 mithilfe von Visual Studio bereit.

Link to this sectionZusammenfassung#

Dieser Leitfaden behandelte den Export von Ultralytics YOLO26-Modellen in das NCNN-Format für verbesserte Effizienz und Geschwindigkeit auf ressourcenbeschränkten Geräten.

Weitere Details findest du in der offiziellen NCNN-Dokumentation. Für weitere Exportoptionen besuche unsere Seite mit Integrationsleitfäden.

Link to this sectionFAQ#

Link to this sectionWie exportiere ich Ultralytics YOLO26-Modelle in das NCNN-Format?#

Um dein Ultralytics YOLO26-Modell in das NCNN-Format zu exportieren:

  • Python: Verwende die Methode export aus der YOLO-Klasse.

    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
  • CLI: Verwende den Befehl yolo export.

    yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'

Detaillierte Exportoptionen findest du in der Export-Dokumentation.

Link to this sectionWas sind die Vorteile des Exports von YOLO26-Modellen in NCNN?#

Der Export deiner Ultralytics YOLO26-Modelle in NCNN bietet mehrere Vorteile:

  • Effizienz: NCNN-Modelle sind für mobile und eingebettete Geräte optimiert, was eine hohe Leistung selbst bei begrenzten Rechenressourcen gewährleistet.
  • Quantisierung: NCNN unterstützt Techniken wie Quantisierung, die die Modellgeschwindigkeit verbessern und den Speicherverbrauch reduzieren.
  • Breite Kompatibilität: Du kannst NCNN-Modelle auf mehreren Plattformen bereitstellen, einschließlich Android, iOS, Linux und macOS.
  • Vulkan GPU-Beschleunigung: Nutze GPU-Beschleunigung auf AMD-, Intel- und anderen Nicht-NVIDIA-GPUs über Vulkan für eine schnellere Inferenz.

Weitere Details findest du im Abschnitt Warum in NCNN exportieren?.

Link to this sectionWarum sollte ich NCNN für meine mobilen KI-Anwendungen verwenden?#

NCNN, entwickelt von Tencent, ist speziell für mobile Plattformen optimiert. Wichtige Gründe für die Verwendung von NCNN sind:

  • Hohe Leistung: Entwickelt für eine effiziente und schnelle Verarbeitung auf mobilen CPUs.
  • Plattformübergreifend: Kompatibel mit gängigen Frameworks wie TensorFlow und ONNX, was es einfacher macht, Modelle über verschiedene Plattformen hinweg zu konvertieren und bereitzustellen.
  • Community-Support: Aktiver Community-Support stellt kontinuierliche Verbesserungen und Updates sicher.

Weitere Informationen findest du im Abschnitt Hauptmerkmale von NCNN-Modellen.

Link to this sectionWelche Plattformen werden für die NCNN-Modellbereitstellung unterstützt?#

NCNN ist vielseitig und unterstützt verschiedene Plattformen:

  • Mobil: Android, iOS.
  • Embedded Systems und IoT-Geräte: Geräte wie Raspberry Pi und NVIDIA Jetson.
  • Desktop und Server: Linux, Windows und macOS.

Für eine verbesserte Leistung auf dem Raspberry Pi solltest du die Verwendung des NCNN-Formats in Betracht ziehen, wie in unserem Raspberry Pi-Leitfaden detailliert beschrieben.

Link to this sectionWie kann ich Ultralytics YOLO26 NCNN-Modelle auf Android bereitstellen?#

Um deine YOLO26-Modelle auf Android bereitzustellen:

  1. Build für Android: Folge dem Leitfaden NCNN Build für Android.
  2. Integriere es in deine App: Verwende das NCNN Android SDK, um das exportierte Modell für eine effiziente Inferenz auf dem Gerät in deine Anwendung zu integrieren.

Detaillierte Anweisungen findest du unter Bereitstellung exportierter YOLO26 NCNN-Modelle.

Für fortgeschrittenere Leitfäden und Anwendungsfälle besuche den Ultralytics-Leitfaden zur Modellbereitstellung.

Link to this sectionWie verwende ich die Vulkan GPU-Beschleunigung mit NCNN-Modellen?#

NCNN unterstützt Vulkan für GPU-Beschleunigung auf AMD, Intel und anderen Nicht-NVIDIA-GPUs. Um Vulkan zu verwenden:

from ultralytics import YOLO

# Load NCNN model and run with Vulkan GPU
model = YOLO("yolo26n_ncnn_model")
results = model("image.jpg", device="vulkan:0")  # Use first Vulkan device

Gib bei Multi-GPU-Systemen den Geräteindex an (z. B. vulkan:1 für die zweite GPU). Stelle sicher, dass Vulkan-Treiber für deine GPU installiert sind. Siehe den Abschnitt Vulkan GPU-Beschleunigung für weitere Details.

Kommentare