So exportieren Sie von YOLO11 nach NCNN für eine reibungslose Bereitstellung
Der Einsatz von Computer-Vision-Modellen auf Geräten mit begrenzter Rechenleistung, wie z. B. mobilen oder eingebetteten Systemen, kann sich als schwierig erweisen. Sie müssen sicherstellen, dass Sie ein für optimale Leistung optimiertes Format verwenden. Dadurch wird sichergestellt, dass auch Geräte mit begrenzter Rechenleistung fortgeschrittene Bildverarbeitungsaufgaben gut bewältigen können.
Mit der Funktion zum Export in das Format NCNN können Sie Ihre Modelle Ultralytics YOLO11 Modelle für leichtgewichtige gerätebasierte Anwendungen zu optimieren. In dieser Anleitung zeigen wir Ihnen, wie Sie Ihre Modelle in das Format NCNN konvertieren, damit sie auf verschiedenen mobilen und eingebetteten Geräten gut funktionieren.
Warum sollten Sie auf NCNN exportieren?
Das NCNN Framework, das von Tencent entwickelt wurde, ist ein hochleistungsfähiges Framework für die Inferenzberechnung mit neuronalen Netzen, 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. Dies erleichtert die Entwicklung intelligenter Apps und macht die Leistung der KI für Sie greifbar.
Hauptmerkmale der Modelle NCNN
NCNN Modelle bieten eine breite Palette von Schlüsselfunktionen, 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 leistungsstark: Die Modelle von NCNN sind effizient und leichtgewichtig und für die Ausführung auf mobilen und eingebetteten Geräten wie Raspberry Pi mit begrenzten Ressourcen optimiert. Sie können auch eine hohe Leistung mit hoher Genauigkeit bei verschiedenen Computer-Vision-basierten Aufgaben erreichen.
-
Quantisierung: Die Modelle von NCNN unterstützen häufig die Quantisierung, eine Technik, die die Genauigkeit der Gewichte und Aktivierungen des Modells reduziert. Dies führt zu einer weiteren Verbesserung der Leistung und reduziert den Speicherbedarf.
-
Kompatibilität: NCNN Modelle sind kompatibel mit gängigen Deep-Learning-Frameworks wie TensorFlowCaffe, und ONNX. Diese Kompatibilität ermöglicht es Entwicklern, bestehende Modelle und Arbeitsabläufe problemlos zu nutzen.
-
Einfache Nutzung: NCNN Modelle sind dank ihrer Kompatibilität mit gängigen Deep-Learning-Frameworks für die einfache Integration in verschiedene Anwendungen konzipiert. 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.
Bereitstellungsoptionen mit NCNN
Bevor wir uns den Code für den Export von YOLO11 Modellen in das NCNN Format ansehen, sollten wir verstehen, wie NCNN Modelle normalerweise verwendet werden.
NCNN Modelle, die auf Effizienz und Leistung ausgelegt sind, sind mit einer Vielzahl von Einsatzplattformen kompatibel:
-
Mobile Einsatzmöglichkeiten: 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 Sie feststellen, dass die Inferenz auf einem Raspberry Pi mit dem Ultralytics Guide nicht schnell genug ist, kann der Wechsel zu einem exportierten Modell von NCNN helfen, die Dinge zu beschleunigen. NCNN ist großartig für Geräte wie Raspberry Pi und NVIDIA Jetson, insbesondere in Situationen, in denen Sie eine schnelle Verarbeitung direkt auf dem Gerät benötigen.
-
Desktop- und Server-Bereitstellung: 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: Konvertierung Ihres YOLO11 Modells
Sie können die Modellkompatibilität und die Einsatzflexibilität erweitern, indem Sie die Modelle von YOLO11 in das Format NCNN konvertieren.
Einrichtung
Um die erforderlichen Pakete zu installieren, führen Sie aus:
Detaillierte Anweisungen und bewährte Verfahren für den Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, finden Sie in unserem Leitfaden für häufige Probleme Lösungen und Tipps.
Verwendung
Bevor wir uns den Anweisungen zur Verwendung zuwenden, ist es wichtig zu wissen, dass alle Modelle vonUltralytics YOLO11 für den Export verfügbar sind.
Verwendung
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo11n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo11n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
Argumente exportieren
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
format |
str |
'ncnn' |
Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Einsatzumgebungen definiert. |
imgsz |
int oder tuple |
640 |
Gewünschte Bildgröße für die Modelleingabe. Kann eine ganze Zahl für quadratische Bilder oder ein Tupel sein (height, width) für bestimmte Abmessungen. |
half |
bool |
False |
Ermöglicht FP16-Quantisierung (mit halber Genauigkeit), wodurch die Modellgröße reduziert und die Inferenz auf unterstützter Hardware möglicherweise beschleunigt wird. |
batch |
int |
1 |
Gibt die Größe der exportierten Modellstapelinferenz oder die maximale Anzahl der Bilder an, die das exportierte Modell gleichzeitig in predict Modus. |
Weitere Einzelheiten zum Exportvorgang finden Sie auf der Dokumentationsseite zum Exportieren unterUltralytics .
Bereitstellung von exportierten YOLO11 NCNN Modellen
Nachdem Sie Ihre Ultralytics YOLO11 Modelle erfolgreich in das NCNN Format exportiert haben, können Sie sie nun einsetzen. Der primäre und empfohlene erste Schritt zur Ausführung eines NCNN Modells ist die Verwendung der YOLO("yolo11n_ncnn_model/") Methode, wie im vorherigen Codeausschnitt beschrieben. Ausführliche Anleitungen für die Bereitstellung Ihrer NCNN Modelle in verschiedenen anderen Einstellungen finden Sie in den folgenden Ressourcen:
-
Android: In diesem Blog wird erklärt, wie man NCNN Modelle für Aufgaben wie die Objekterkennung in Android Anwendungen verwendet.
-
macOS: Verstehen, wie man NCNN Modelle für die Durchführung von Aufgaben durch macOS verwendet.
-
Linux: Auf dieser Seite erfahren Sie, wie Sie NCNN Modelle auf Geräten mit begrenzten Ressourcen wie Raspberry Pi und anderen ähnlichen Geräten einsetzen können.
-
Windows x64 mit VS2017: In diesem Blog erfahren Sie, wie Sie NCNN Modelle auf Windows x64 mit Visual Studio Community 2017 bereitstellen können.
Zusammenfassung
In diesem Leitfaden wird das Exportieren von Ultralytics YOLO11 Modellen in das NCNN Format beschrieben. Dieser Konvertierungsschritt ist entscheidend für die Verbesserung der Effizienz und Geschwindigkeit von YOLO11 Modellen, wodurch sie effektiver und für Computerumgebungen mit begrenzten Ressourcen geeignet sind.
Ausführliche Anweisungen zur Verwendung finden Sie in der offiziellen Dokumentation NCNN .
Wenn Sie an weiteren Integrationsmöglichkeiten für Ultralytics YOLO11 interessiert sind, besuchen Sie unsere Seite mit den Integrationsanleitungen für weitere Einblicke und Informationen.
FAQ
Wie exportiere ich Ultralytics YOLO11 Modelle in das Format NCNN ?
Gehen Sie folgendermaßen vor, um Ihr Modell Ultralytics YOLO11 in das Format NCNN zu exportieren:
-
Python: Verwenden Sie die
export
Funktion aus der Klasse YOLO . -
CLI: Verwenden Sie die
yolo
mit dem Befehlexport
Argument.
Ausführliche Informationen zu den Exportoptionen finden Sie auf der Seite Export in der Dokumentation.
Was sind die Vorteile des Exports von YOLO11 Modellen auf NCNN?
Der Export Ihrer Ultralytics YOLO11 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: Sie können NCNN Modelle auf mehreren Plattformen einsetzen, darunter Android, iOS, Linux und macOS.
Weitere Einzelheiten finden Sie im Abschnitt Export nach NCNN in der Dokumentation.
Warum sollte ich NCNN für meine mobilen KI-Anwendungen verwenden?
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.
- Unterstützung der Gemeinschaft: Die aktive Unterstützung durch die Community gewährleistet kontinuierliche Verbesserungen und Aktualisierungen.
Weitere Informationen finden Sie in der ÜbersichtNCNN in der Dokumentation.
Welche Plattformen werden für dieBereitstellung des Modells NCNN 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 die Ausführung von Modellen auf einem Raspberry Pi nicht schnell genug ist, kann die Konvertierung in das Format NCNN die Dinge beschleunigen, wie in unserem Raspberry Pi Guide beschrieben.
Wie kann ich Ultralytics YOLO11 NCNN Modelle auf Android einsetzen?
So stellen Sie Ihre YOLO11 Modelle auf Android bereit:
- Bauen Sie für Android: Folgen Sie der Anleitung NCNN Build for Android.
- Integrieren Sie in Ihre Anwendung: Verwenden Sie das NCNN Android SDK, um das exportierte Modell in Ihre Anwendung zu integrieren und so eine effiziente Inferenz auf dem Gerät zu ermöglichen.
Eine schrittweise Anleitung finden Sie in unserem Leitfaden zur Bereitstellung von YOLO11 NCNN Modellen.
Weitere Anleitungen und Anwendungsfälle für Fortgeschrittene finden Sie auf der DokumentationsseiteUltralytics .