CoreML Export für YOLO11 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 Ihnen die Optimierung Ihrer Ultralytics YOLO11 Modelle für eine effiziente Objekterkennung in iOS und macOS-Anwendungen zu optimieren. In dieser Anleitung führen wir Sie durch die Schritte zur Konvertierung Ihrer Modelle in das Format CoreML , damit Ihre Modelle auf Apple-Geräten besser funktionieren.
CoreML
CoreML ist Apples grundlegendes Framework für maschinelles Lernen, das auf Accelerate, BNNS und Metal Performance Shaders aufbaut. Es bietet ein Modellformat für maschinelles Lernen, 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 geräteinterner Datenverarbeitung arbeitet. Dies bedeutet, dass die Modellinferenz lokal auf dem Gerät des Benutzers durchgeführt werden kann.
Hauptmerkmale der Modelle CoreML
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: Konvertierung und Ausführung von Modellen aus gängigen Frameworks wie TensorFlow, PyTorch, scikit-learn, XGBoost und LibSVM.
-
Maschinelles Lernen auf dem Gerät: Gewährleistet den Datenschutz und eine schnelle Verarbeitung, indem 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 optimale Leistung bei minimaler Energie- und Speichernutzung. Bietet Tools für die Modellkomprimierung und -optimierung unter Beibehaltung der 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 sowie Tools zur Modellprüfung und -validierung.
CoreML Optionen für den Einsatz
Bevor wir uns den Code für den Export von YOLO11 Modellen in das CoreML Format ansehen, sollten wir verstehen, wo CoreML Modelle normalerweise verwendet werden.
CoreML bietet verschiedene Bereitstellungsoptionen für Modelle des maschinellen Lernens, darunter:
-
Bereitstellung auf dem Gerät: Bei dieser Methode werden die CoreML Modelle direkt in Ihre iOS App integriert. Sie ist besonders vorteilhaft, da sie eine geringe Latenzzeit, einen verbesserten Datenschutz (da die Daten auf dem Gerät verbleiben) und eine 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 beiden 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 je nach Bedarf von einem Server abgerufen. Dieser Ansatz eignet sich für größere Modelle oder solche, die regelmäßig aktualisiert werden müssen. Es hilft, die Größe des App-Pakets klein zu halten.
-
-
Cloud-basierte Bereitstellung: CoreML Modelle werden auf Servern gehostet und von der App iOS ü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 Anwendungen, die regelmäßige Aktualisierungen erfordern. Sie erfordert jedoch eine Internetverbindung und kann Latenz- und Sicherheitsprobleme mit sich bringen.
Exportieren von YOLO11 Modellen nach CoreML
Der Export von YOLO11 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 mit den Plattformen iOS, macOS, watchOS und tvOS.
Einrichtung
Führen Sie das erforderliche Paket aus, um es zu installieren:
Detaillierte Anweisungen und bewährte Verfahren für den Installationsprozess finden Sie in unserem YOLO11 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 Sie sich mit der Gebrauchsanweisung befassen, sollten Sie sich über die verschiedenen Modelle vonYOLO11 informieren, die von Ultralytics angeboten werden. Dies wird Ihnen helfen, das am besten geeignete Modell für Ihre Projektanforderungen auszuwählen.
Verwendung
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to CoreML format
model.export(format="coreml") # creates 'yolo11n.mlpackage'
# Load the exported CoreML model
coreml_model = YOLO("yolo11n.mlpackage")
# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
Weitere Einzelheiten zum Exportvorgang finden Sie auf der Dokumentationsseite zum Exportieren unterUltralytics .
Bereitstellung von exportierten YOLO11 CoreML Modellen
Nachdem Sie Ihre Ultralytics YOLO11 Modelle erfolgreich nach CoreML exportiert haben, ist die nächste kritische Phase die effektive Bereitstellung dieser Modelle. Ausführliche Anleitungen für die Bereitstellung von CoreML Modellen in verschiedenen Umgebungen finden Sie in diesen Ressourcen:
-
CoreML Werkzeuge: Dieser Leitfaden enthält Anweisungen und Beispiele zur Konvertierung von Modellen aus TensorFlow, PyTorch und anderen Bibliotheken nach Core ML zu konvertieren.
-
ML und Vision: Eine Sammlung umfassender Videos, die verschiedene Aspekte der Verwendung und Implementierung von CoreML Modellen behandeln.
-
Integrieren eines ML-Kernmodells in Ihre Anwendung: 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 Anwendung für verschiedene Funktionen beschreibt.
Zusammenfassung
In dieser Anleitung haben wir beschrieben, wie Sie Ultralytics YOLO11 Modelle in das CoreML Format exportieren können. Wenn Sie die in diesem Leitfaden beschriebenen Schritte befolgen, können Sie beim Exportieren von YOLO11 Modellen nach CoreML maximale Kompatibilität und Leistung gewährleisten.
Weitere Einzelheiten zur Verwendung finden Sie in der offiziellen DokumentationCoreML .
Wenn Sie mehr über andere Ultralytics YOLO11 Integrationen erfahren möchten, besuchen Sie unseren Integrationsleitfaden. Dort finden Sie viele wertvolle Ressourcen und Einblicke.
FAQ
Wie exportiere ich YOLO11 Modelle in das Format CoreML ?
Zum Exportieren Ihrer Ultralytics YOLO11 Modelle in das Format CoreML zu konvertieren, müssen Sie zunächst sicherstellen, dass Sie über die ultralytics
Paket installiert. Sie können es mit installieren:
Anschließend können Sie das Modell mit den folgenden Befehlen exportieren: Python oder CLI :
Verwendung
Weitere Einzelheiten finden Sie im Abschnitt Exportieren von YOLO11 Modellen nach CoreML in unserer Dokumentation.
Welche Vorteile bietet die Verwendung von CoreML für die Bereitstellung von YOLO11 Modellen?
CoreML bietet zahlreiche Vorteile für den Einsatz von Ultralytics YOLO11 Modelle auf Apple-Geräten:
- Verarbeitung auf dem Gerät: Ermöglicht lokale Modellinferenz auf den Geräten, wodurch der Datenschutz gewährleistet und die Latenzzeit minimiert wird.
- Optimierung der Leistung: Nutzt das volle Potenzial des Geräts CPU, GPU und der Neural Engine und optimiert sowohl die Geschwindigkeit als auch die Effizienz.
- Leichte Integration: Bietet eine nahtlose Integration in die Ökosysteme von Apple, einschließlich iOS, macOS, watchOS und tvOS.
- Vielseitigkeit: Unterstützt eine breite Palette von Aufgaben des maschinellen Lernens wie Bildanalyse, Audioverarbeitung und Verarbeitung natürlicher Sprache unter Verwendung des CoreML Frameworks.
Weitere Einzelheiten zur Integration Ihres CoreML Modells in eine iOS App finden Sie im Leitfaden zur Integration eines ML Kernmodells in Ihre App.
Welche Bereitstellungsoptionen gibt es für YOLO11 Modelle, die nach CoreML exportiert wurden?
Sobald Sie Ihr YOLO11 Modell in das Format CoreML exportiert haben, stehen Ihnen mehrere Bereitstellungsoptionen zur Verfügung:
-
On-Device-Bereitstellung: Integrieren Sie CoreML Modelle direkt in Ihre App, um den Datenschutz und die Offline-Funktionalität zu verbessern. Dies kann wie folgt geschehen:
- Eingebettete Modelle: Im App-Paket enthalten, sofort zugänglich.
- Heruntergeladene Modelle: Werden bei Bedarf von einem Server geholt, um die Größe des App-Bündels zu verringern.
-
Cloud-basierte Bereitstellung: Hosten Sie CoreML Modelle auf Servern und greifen Sie über API-Anfragen auf sie zu. Dieser Ansatz unterstützt einfachere Aktualisierungen und kann komplexere Modelle verarbeiten.
Ausführliche Anleitungen zur Bereitstellung von CoreML Modellen finden Sie unter CoreML Bereitstellungsoptionen.
Wie stellt CoreML eine optimale Leistung für YOLO11 Modelle sicher?
CoreML gewährleistet optimierte Leistung für Ultralytics YOLO11 Modelle durch den Einsatz verschiedener Optimierungstechniken:
- Hardware-Beschleunigung: Verwendet die CPU, GPU und die Neural Engine des Geräts für effiziente Berechnungen.
- Modellkomprimierung: Bietet Werkzeuge zur Komprimierung von Modellen, um ihren Platzbedarf zu verringern, ohne die Genauigkeit zu beeinträchtigen.
- Adaptive Inferenz: Passt die Inferenz auf der Grundlage der Fähigkeiten des Geräts an, um ein Gleichgewicht zwischen Geschwindigkeit und Leistung zu gewährleisten.
Weitere Informationen zur Leistungsoptimierung finden Sie in der offiziellen DokumentationCoreML .
Kann ich die Inferenz direkt mit dem exportierten CoreML Modell durchführen?
Ja, Sie können die Inferenz direkt mit dem exportierten Modell CoreML durchführen. Nachstehend finden Sie die Befehle für Python und CLI:
Laufende Inferenz
Weitere Informationen finden Sie im Abschnitt "Verwendung" der Exportanleitung CoreML .