Zum Inhalt springen

CoreML Export fĂŒr YOLOv8 Modelle

Der Einsatz von Computer-Vision-Modellen auf Apple-GerÀten wie iPhones und Macs erfordert ein Format, das eine reibungslose Leistung gewÀhrleistet.

Das CoreML Exportformat ermöglicht es dir, deine Ultralytics YOLOv8 Modelle fĂŒr eine effiziente Objekterkennung in iOS- und macOS-Anwendungen optimieren. In diesem Leitfaden fĂŒhren wir dich durch die Schritte, mit denen du deine Modelle in das CoreML Format konvertierst, damit sie auf Apple-GerĂ€ten besser funktionieren.

CoreML

CoreML Übersicht

CoreML ist Apples grundlegendes Framework fĂŒr maschinelles Lernen, das auf Accelerate, BNNS und Metal Performance Shaders aufbaut. Es bietet ein Machine-Learning-Modellformat, das sich nahtlos in iOS-Anwendungen integrieren lĂ€sst und Aufgaben wie Bildanalyse, Verarbeitung natĂŒrlicher Sprache, Audio-zu-Text-Konvertierung und Klanganalyse unterstĂŒtzt.

Anwendungen können die Vorteile von Core ML nutzen, ohne dass eine Netzwerkverbindung oder API-Aufrufe erforderlich sind, da das Core ML-Framework mit On-Device-Computing arbeitet. Das bedeutet, dass die Modellinferenz lokal auf dem GerĂ€t des Nutzers durchgefĂŒhrt werden kann.

Die wichtigsten Merkmale der CoreML Modelle

Apples CoreML Framework bietet robuste Funktionen fĂŒr maschinelles Lernen auf dem GerĂ€t. Hier sind die wichtigsten Funktionen, die CoreML zu einem leistungsstarken Werkzeug fĂŒr Entwickler machen:

  • Umfassende ModellunterstĂŒtzung: Konvertiert und fĂŒhrt Modelle aus gĂ€ngigen Frameworks wie TensorFlow, PyTorch, scikit-learn, XGBoost und LibSVM aus.

CoreML UnterstĂŒtzte Modelle

  • Maschinelles Lernen auf dem GerĂ€t: GewĂ€hrleistet den Datenschutz und eine schnelle Verarbeitung, indem die Modelle direkt auf dem GerĂ€t des Nutzers ausgefĂŒhrt werden, ohne dass eine Netzwerkverbindung erforderlich ist.

  • Leistung und Optimierung: Nutzt die CPU, GPU und Neural Engine des GerĂ€ts fĂŒr eine optimale Leistung bei minimalem Strom- und Speicherverbrauch. Bietet Werkzeuge zur Modellkomprimierung und -optimierung bei gleichbleibender Genauigkeit.

  • Leichte Integration: Bietet ein einheitliches Format fĂŒr verschiedene Modelltypen und eine benutzerfreundliche API fĂŒr die nahtlose Integration in Anwendungen. UnterstĂŒtzt domĂ€nenspezifische Aufgaben durch Frameworks wie Vision und Natural Language.

  • Erweiterte Funktionen: EnthĂ€lt Trainingsfunktionen auf dem GerĂ€t fĂŒr personalisierte Erlebnisse, asynchrone Vorhersagen fĂŒr interaktive ML-Erlebnisse und Tools zur ModellprĂŒfung und -validierung.

CoreML Einsatzoptionen

Bevor wir uns den Code fĂŒr den Export von YOLOv8 Modellen in das CoreML Format ansehen, wollen wir erst einmal verstehen, wo CoreML Modelle normalerweise verwendet werden.

CoreML bietet verschiedene Einsatzmöglichkeiten fĂŒr maschinelle Lernmodelle, darunter:

  • On-Device Deployment: Bei dieser Methode werden die CoreML Modelle direkt in deine iOS-App integriert. Sie ist besonders vorteilhaft, da sie eine geringe Latenzzeit, mehr Datenschutz (da die Daten auf dem GerĂ€t bleiben) und Offline-FunktionalitĂ€t gewĂ€hrleistet. Dieser Ansatz kann jedoch durch die HardwarekapazitĂ€ten des GerĂ€ts eingeschrĂ€nkt sein, insbesondere bei grĂ¶ĂŸeren und komplexeren Modellen. Die Bereitstellung auf dem GerĂ€t kann auf die folgenden zwei Arten erfolgen.

    • Eingebettete Modelle: Diese Modelle sind im App-Bundle enthalten und sofort zugĂ€nglich. Sie sind ideal fĂŒr kleine Modelle, die nicht hĂ€ufig aktualisiert werden mĂŒssen.

    • Heruntergeladene Modelle: Diese Modelle werden bei Bedarf von einem Server heruntergeladen. Dieser Ansatz eignet sich fĂŒr grĂ¶ĂŸere Modelle oder solche, die regelmĂ€ĂŸig aktualisiert werden mĂŒssen. Sie hilft, die GrĂ¶ĂŸe des App-Pakets klein zu halten.

  • Cloud-basierte Bereitstellung: CoreML Modelle werden auf Servern gehostet und von der iOS-App ĂŒber API-Anfragen aufgerufen. Diese skalierbare und flexible Option ermöglicht einfache Modellaktualisierungen ohne App-Revisionen. Sie ist ideal fĂŒr komplexe Modelle oder groß angelegte Apps, die regelmĂ€ĂŸig aktualisiert werden mĂŒssen. Sie erfordert jedoch eine Internetverbindung und kann zu Latenz- und Sicherheitsproblemen fĂŒhren.

Exportieren von YOLOv8 Modellen nach CoreML

Der Export von YOLOv8 nach CoreML ermöglicht eine optimierte, gerĂ€teinterne maschinelle Lernleistung innerhalb des Apple-Ökosystems und bietet Vorteile in Bezug auf Effizienz, Sicherheit und nahtlose Integration in die Plattformen iOS, macOS, watchOS und tvOS.

Installation

Um das benötigte Paket zu installieren, fĂŒhre es 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 YOLOv8 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 in die Gebrauchsanweisung vertiefst, solltest du dir die verschiedenen Modelle vonYOLOv8 ansehen, die von Ultralytics angeboten werden. Das wird dir helfen, das am besten geeignete Modell fĂŒr deine Projektanforderungen auszuwĂ€hlen.

Verwendung

from ultralytics import YOLO

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

# Export the model to CoreML format
model.export(format='coreml')  # creates 'yolov8n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO('yolov8n.mlpackage')

# Run inference
results = coreml_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

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

Weitere Informationen ĂŒber den Exportprozess findest du auf der Dokumentationsseite zum Export unterUltralytics .

Einsatz von exportierten YOLOv8 CoreML Modellen

Nachdem du deine Ultralytics YOLOv8 Modelle erfolgreich nach CoreML exportiert hast, ist die nĂ€chste kritische Phase der effektive Einsatz dieser Modelle. AusfĂŒhrliche Anleitungen fĂŒr den Einsatz von CoreML Modellen in verschiedenen Umgebungen findest du in diesen Ressourcen:

  • CoreML Werkzeuge: Dieser Leitfaden enthĂ€lt Anleitungen und Beispiele fĂŒr die Konvertierung von Modellen aus TensorFlow, PyTorch und anderen Bibliotheken nach Core ML.

  • ML und Vision: Eine Sammlung umfassender Videos, die verschiedene Aspekte der Nutzung und Implementierung von CoreML Modellen behandeln.

  • Integriere ein ML-Kernmodell in deine App: Ein umfassender Leitfaden zur Integration eines CoreML Modells in eine iOS-Anwendung, der die einzelnen Schritte von der Vorbereitung des Modells bis zur Implementierung in die App fĂŒr verschiedene FunktionalitĂ€ten beschreibt.

Zusammenfassung

In dieser Anleitung haben wir beschrieben, wie du Ultralytics YOLOv8 Modelle in das CoreML Format exportierst. Wenn du die in diesem Leitfaden beschriebenen Schritte befolgst, kannst du beim Export von YOLOv8 Modellen nach CoreML maximale KompatibilitÀt und Leistung gewÀhrleisten.

Weitere Einzelheiten zur Verwendung findest du in der offiziellen DokumentationCoreML .

Wenn du mehr ĂŒber andere Ultralytics YOLOv8 Integrationen erfahren möchtest, besuche unseren Integrationsleitfaden. Dort findest du viele wertvolle Ressourcen und Einblicke.



Erstellt am 2024-02-07, Aktualisiert am 2024-03-03
Autoren: glenn-jocher (1), RizwanMunawar (1), abirami-vina (1)

Kommentare