Zum Inhalt springen

Wie man von YOLOv8 nach NCNN exportiert, um eine reibungslose Verteilung zu erreichen

Der Einsatz von Computer-Vision-Modellen auf GerĂ€ten mit begrenzter Rechenleistung, wie z. B. mobilen oder eingebetteten Systemen, kann schwierig sein. Du musst sicherstellen, dass du ein Format verwendest, das fĂŒr optimale Leistung optimiert ist. So wird sichergestellt, dass auch GerĂ€te mit begrenzter Rechenleistung fortgeschrittene Computer Vision Aufgaben gut bewĂ€ltigen können.

Die Funktion zum Export in das Format NCNN ermöglicht es dir, deine Ultralytics YOLOv8 Modelle fĂŒr leichtgewichtige gerĂ€tebasierte Anwendungen zu optimieren. In diesem Leitfaden zeigen wir dir, wie du deine Modelle in das Format NCNN konvertierst, damit sie auf verschiedenen mobilen und eingebetteten GerĂ€ten gut funktionieren.

Warum solltest du auf NCNN exportieren?

NCNN Übersicht

Das NCNN Framework, das von Tencent entwickelt wurde, ist ein hochleistungsfĂ€higes Framework fĂŒr neuronale Netzwerke, das speziell fĂŒr mobile Plattformen wie Mobiltelefone, eingebettete GerĂ€te und IoT-GerĂ€te optimiert wurde. NCNN ist mit einer Vielzahl von Plattformen kompatibel, darunter Linux, Android, iOS und macOS.

NCNN ist fĂŒr seine hohe Verarbeitungsgeschwindigkeit auf mobilen CPUs bekannt und ermöglicht eine schnelle Bereitstellung von Deep-Learning-Modellen auf mobilen Plattformen. Das macht es einfacher, intelligente Apps zu entwickeln und die Macht der KI direkt in deine HĂ€nde zu legen.

Die wichtigsten Merkmale der NCNN Modelle

NCNN Modelle bieten eine breite Palette an wichtigen Funktionen, die maschinelles Lernen auf GerĂ€ten ermöglichen, indem sie Entwicklern helfen, ihre Modelle auf mobilen, eingebetteten und Edge-GerĂ€ten auszufĂŒhren:

  • Effizient und leistungsfĂ€hig: Die Modelle von NCNN sind effizient und leichtgewichtig und fĂŒr den Betrieb auf mobilen und eingebetteten GerĂ€ten wie dem Raspberry Pi mit begrenzten Ressourcen optimiert. Außerdem können sie bei verschiedenen Bildverarbeitungsaufgaben eine hohe Leistung mit hoher Genauigkeit erzielen.

  • Quantisierung: NCNN Modelle unterstĂŒtzen oft die Quantisierung, eine Technik, die die Genauigkeit der Gewichte und Aktivierungen des Modells reduziert. Dies fĂŒhrt zu weiteren Leistungsverbesserungen und reduziert den Speicherbedarf.

  • KompatibilitĂ€t: Die Modelle von NCNN sind kompatibel mit gĂ€ngigen Deep-Learning-Frameworks wie TensorFlowCaffe, und ONNX. Diese KompatibilitĂ€t ermöglicht es Entwicklern, bestehende Modelle und ArbeitsablĂ€ufe einfach zu nutzen.

  • Einfache Nutzung: Die Modelle von NCNN lassen sich dank ihrer KompatibilitĂ€t mit gĂ€ngigen Deep-Learning-Frameworks leicht in verschiedene Anwendungen integrieren. DarĂŒber hinaus bietet NCNN benutzerfreundliche Tools fĂŒr die Konvertierung von Modellen zwischen verschiedenen Formaten, um eine reibungslose InteroperabilitĂ€t in der gesamten Entwicklungslandschaft zu gewĂ€hrleisten.

Einsatzoptionen mit NCNN

Bevor wir uns den Code fĂŒr den Export ansehen YOLOv8 Modelle bis hin zu den NCNN -Format zu verstehen, wie NCNN normalerweise werden Modelle verwendet.

NCNN Modelle, die auf Effizienz und Leistung ausgelegt sind, sind mit einer Vielzahl von Einsatzplattformen kompatibel:

  • Mobiler Einsatz: Speziell optimiert fĂŒr Android und iOS, ermöglicht die nahtlose Integration in mobile Anwendungen fĂŒr effiziente Inferenzen auf dem GerĂ€t.

  • Eingebettete Systeme und IoT-GerĂ€te: Wenn du feststellst, dass die Inferenz auf einem Raspberry Pi mit dem Ultralytics Guide nicht schnell genug ist, kannst du zu einem NCNN exportierten Modell wechseln, um die Dinge zu beschleunigen. NCNN eignet sich hervorragend fĂŒr GerĂ€te wie den Raspberry Pi und NVIDIA Jetson, vor allem in Situationen, in denen du eine schnelle Verarbeitung direkt auf dem GerĂ€t brauchst.

  • Desktop- und Server-Einsatz: Kann in Desktop- und Serverumgebungen unter Linux, Windows und macOS eingesetzt werden und unterstĂŒtzt Entwicklung, Schulung und Evaluierung mit höheren RechenkapazitĂ€ten.

Exportieren nach NCNN: Konvertiere dein YOLOv8 Modell

Du kannst die ModellkompatibilitÀt und die EinsatzflexibilitÀt erweitern, indem du die Modelle von YOLOv8 in das Format NCNN konvertierst.

Installation

Um die benötigten Pakete zu installieren, fĂŒhre sie aus:

Installation

# Install the required package for YOLOv8
pip install ultralytics

AusfĂŒhrliche Anweisungen und bewĂ€hrte Verfahren fĂŒr den Installationsprozess findest du in unserem Ultralytics Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete fĂŒr YOLOv8 auf Schwierigkeiten stĂ¶ĂŸt, findest du in unserem Leitfaden fĂŒr hĂ€ufige Probleme Lösungen und Tipps.

Verwendung

Bevor du dich mit den Nutzungshinweisen beschĂ€ftigst, solltest du wissen, dass alle Modelle vonUltralytics YOLOv8 exportiert werden können. Hier kannst du sicherstellen, dass das von dir ausgewĂ€hlte Modell die Exportfunktion unterstĂŒtzt.

Verwendung

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'

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

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to NCNN format
yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'

# Run inference with the exported model
yolo predict model='./yolov8n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'

Weitere Details zu den unterstĂŒtzten Exportoptionen findest du auf der Ultralytics Dokumentationsseite zu den Bereitstellungsoptionen.

Einsatz von exportierten YOLOv8 NCNN Modellen

Nachdem du deine Ultralytics YOLOv8 Modelle erfolgreich in das NCNN Format exportiert hast, kannst du sie nun einsetzen. Der wichtigste und empfohlene erste Schritt zum AusfĂŒhren eines NCNN Modells ist die Verwendung der Methode YOLO("./model_ncnn_model"), wie im vorherigen Codeausschnitt beschrieben. AusfĂŒhrliche Anleitungen fĂŒr den Einsatz deiner NCNN Modelle in verschiedenen anderen Situationen findest du in den folgenden Ressourcen:

  • Android: In diesem Blog wird erklĂ€rt, wie man NCNN Modelle fĂŒr Aufgaben wie die Objekterkennung durch Android Anwendungen verwendet.

  • macOS: Verstehe, wie du NCNN Modelle fĂŒr die DurchfĂŒhrung von Aufgaben unter macOS nutzen kannst.

  • Linux: Auf dieser Seite erfĂ€hrst du, wie du NCNN Modelle auf GerĂ€ten mit begrenzten Ressourcen wie dem Raspberry Pi und anderen Ă€hnlichen GerĂ€ten einsetzen kannst.

  • Windows x64 mit VS2017: In diesem Blog erfĂ€hrst du, wie du NCNN Modelle unter Windows x64 mit Visual Studio Community 2017 einsetzen kannst.

Zusammenfassung

In diesem Leitfaden haben wir uns mit dem Export von Ultralytics YOLOv8 Modellen in das NCNN Format beschĂ€ftigt. Dieser Konvertierungsschritt ist wichtig, um die Effizienz und Geschwindigkeit der YOLOv8 Modelle zu verbessern und sie effektiver und fĂŒr Computerumgebungen mit begrenzten Ressourcen geeignet zu machen.

AusfĂŒhrliche Anweisungen zur Verwendung findest du in der offiziellen Dokumentation NCNN .

Wenn du dich auch fĂŒr andere Integrationsmöglichkeiten fĂŒr Ultralytics YOLOv8 interessierst, solltest du unseren Integrationsleitfaden besuchen, um weitere Einblicke und Informationen zu erhalten.

FAQ

Wie exportiere ich Ultralytics YOLOv8 Modelle in das Format NCNN ?

Um dein Modell Ultralytics YOLOv8 in das Format NCNN zu exportieren, befolge diese Schritte:

  • Python: Verwenden Sie die export Funktion aus der Klasse YOLO .

    from ultralytics import YOLO
    
    # Load the YOLOv8 model
    model = YOLO("yolov8n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'
    
  • CLI: Verwenden Sie die yolo Befehl mit dem export Argument.

    yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'
    

AusfĂŒhrliche Informationen zu den Exportoptionen findest du auf der Seite Export in der Dokumentation.

Was sind die Vorteile des Exports von YOLOv8 Modellen auf NCNN?

Der Export deiner Ultralytics YOLOv8 Modelle nach NCNN bietet mehrere Vorteile:

  • Effizienz: Die Modelle von NCNN sind fĂŒr mobile und eingebettete GerĂ€te optimiert und gewĂ€hrleisten auch bei begrenzten Rechenressourcen eine hohe Leistung.
  • Quantisierung: NCNN unterstĂŒtzt Techniken wie die Quantisierung, die die Geschwindigkeit des Modells erhöhen und den Speicherverbrauch reduzieren.
  • Breite KompatibilitĂ€t: Du kannst NCNN Modelle auf verschiedenen Plattformen einsetzen, darunter Android, iOS, Linux und macOS.

Weitere Informationen findest du im Abschnitt Export nach NCNN in der Dokumentation.

Warum sollte ich NCNN fĂŒr meine mobilen KI-Anwendungen nutzen?

NCNNwurde von Tencent entwickelt und ist speziell fĂŒr mobile Plattformen optimiert. Die wichtigsten GrĂŒnde fĂŒr die Nutzung von NCNN sind:

  • Hohe Leistung: Entwickelt fĂŒr 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 auf verschiedenen Plattformen erleichtert.
  • Community-UnterstĂŒtzung: Die aktive UnterstĂŒtzung der Community sorgt fĂŒr kontinuierliche Verbesserungen und Updates.

Um mehr zu erfahren, besuche die ÜbersichtNCNN in der Dokumentation.

Welche Plattformen werden fĂŒr den Einsatz des NCNN Modells 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.

Wenn das AusfĂŒhren von Modellen auf einem Raspberry Pi nicht schnell genug ist, kann die Konvertierung in das Format NCNN die Sache beschleunigen, wie in unserem Raspberry Pi Guide beschrieben.

Wie kann ich Ultralytics YOLOv8 NCNN Modelle auf Android einsetzen?

Um deine YOLOv8 Modelle auf Android einzusetzen:

  1. Baue fĂŒr Android: Folge der Anleitung NCNN Build for Android.
  2. Integriere in deine App: Verwende das NCNN Android SDK, um das exportierte Modell in deine Anwendung zu integrieren und so effiziente Inferenzen auf dem GerÀt zu ermöglichen.

Eine Schritt-fĂŒr-Schritt-Anleitung findest du in unserem Leitfaden zum Einsatz von YOLOv8 NCNN Modellen.

Weitere Anleitungen und AnwendungsfĂ€lle fĂŒr Fortgeschrittene findest du auf der DokumentationsseiteUltralytics .



Erstellt am 2024-03-01, Aktualisiert am 2024-07-05
Autoren: glenn-jocher (6), abirami-vina (1)

Kommentare