Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO NCNN Export#

Die Bereitstellung von computer vision-Modellen auf Geräten mit begrenzter Rechenleistung, wie mobilen oder eingebetteten Systemen, erfordert eine sorgfältige Auswahl des Formats. Die Verwendung eines optimierten Formats stellt sicher, dass selbst ressourcenbeschränkte Geräte komplexe 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 mobilen und eingebetteten Geräten in das NCNN-Format konvertierst.

Link to this sectionWarum in NCNN exportieren?#

NCNN high-performance neural network inference framework

Das von Tencent entwickelte NCNN-Framework ist ein leistungsstarkes neural network-Inferenz-Framework, das speziell für mobile Plattformen optimiert wurde, einschließlich Mobiltelefonen, eingebetteten Systemen 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 hervorragenden 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 auf dem Gerät ermöglichen und Entwicklern helfen, Modelle auf mobilen, eingebetteten und Edge-Geräten bereitzustellen:

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

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

  • Kompatibilität: NCNN-Modelle sind mit gängigen Deep-Learning-Frameworks kompatibel, darunter TensorFlow, Caffe und ONNX, was es Entwicklern ermöglicht, bestehende Modelle und Workflows zu nutzen.

  • Benutzerfreundlichkeit: NCNN bietet benutzerfreundliche Werkzeuge für die Konvertierung von Modellen zwischen verschiedenen Formaten und sorgt so für eine reibungslose Interoperabilität in unterschiedlichen Entwicklungsumgebungen.

  • Vulkan GPU-Beschleunigung: NCNN unterstützt Vulkan für GPU-beschleunigte Inferenz bei verschiedenen Anbietern, 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.

  • Eingebettete Systeme 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 Guide 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 über Vulkan, was eine leistungsstarke Inferenz auf einer breiten Palette von GPUs ermöglicht, einschließlich AMD, Intel und anderen Nicht-NVIDIA-Grafikkarten. Dies ist besonders nützlich für:

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

Um die Vulkan-Beschleunigung zu nutzen, 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 das standardmäßige Ultralytics YOLO26-Aufgabenset.

Link to this sectionInstallation#

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

Installation
# Install the required package for YOLO26
pip install ultralytics

Detaillierte Anweisungen und bewährte Verfahren findest du im Ultralytics Installation guide. Falls du auf Schwierigkeiten stößt, konsultiere unseren Common Issues guide für Lösungen.

Link to this sectionVerwendung#

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

Das NCNN-Format unterstützt die Modi Export, Predict und Validate. Exportiere dein Modell und lade anschließend das exportierte Modell, um eine Inferenz durchzuführen oder die Genauigkeit zu validieren.

Exportieren
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'
Vorhersagen
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 die Inferenz auf unterstützter Hardware potenziell beschleunigt.
batchint1Gibt die Batch-Größe für die Modellausführung oder die maximale Anzahl an Bildern an, 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 Details zum Exportprozess findest du auf der Ultralytics-Dokumentationsseite zum Exportieren.

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 Anwendungsbeispiel gezeigt. Für plattformspezifische Anweisungen zur Bereitstellung siehe die folgenden Ressourcen:

  • Android: Erstelle und integriere NCNN-Modelle für object detection 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 eingebetteten Systemen.

  • Windows x64: Stelle NCNN-Modelle auf Windows x64 unter Verwendung 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 Integrations-Guide-Seite.

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 und gewährleisten eine hohe Leistung, selbst bei begrenzten Rechenressourcen.
  • Quantisierung: NCNN unterstützt Techniken wie die Quantisierung, die die Modellgeschwindigkeit verbessern und den Speicherverbrauch reduzieren.
  • Umfassende Kompatibilität: Du kannst NCNN-Modelle auf mehreren Plattformen bereitstellen, darunter Android, iOS, Linux und macOS.
  • Vulkan GPU-Beschleunigung: Nutze die GPU-Beschleunigung auf AMD-, Intel- und anderen Nicht-NVIDIA-GPUs via Vulkan für eine schnellere Inferenz.

Weitere Details findest du im Abschnitt Why Export to NCNN?.

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. Hauptgrü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 die Konvertierung und Bereitstellung von Modellen über verschiedene Plattformen hinweg erleichtert.
  • Community-Support: Aktiver Community-Support stellt kontinuierliche Verbesserungen und Updates sicher.

Weitere Informationen findest du im Abschnitt Key Features of NCNN Models.

Link to this sectionWelche Plattformen werden für die NCNN model deployment unterstützt?#

NCNN ist vielseitig und unterstützt verschiedene Plattformen:

  • Mobil: Android, iOS.
  • Eingebettete Systeme 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 das NCNN-Format verwenden, wie in unserem Raspberry Pi Guide 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: Befolge den NCNN Build for Android-Leitfaden.
  2. Integration in deine App: Verwende das NCNN Android SDK, um das exportierte Modell in deine Anwendung für eine effiziente Inferenz auf dem Gerät zu integrieren.

Detaillierte Anweisungen findest du unter Deploying Exported YOLO26 NCNN Models.

Weitere fortgeschrittene Leitfäden und Anwendungsfälle findest du im Ultralytics deployment guide.

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 die Vulkan-Treiber für deine GPU installiert sind. Siehe den Abschnitt Vulkan GPU Acceleration für weitere Details.

Kommentare