Link to this sectionCoreML-Export für YOLO26-Modelle#
Die Bereitstellung von Computer Vision-Modellen auf Apple-Geräten wie iPhones und Macs erfordert ein Format, das eine reibungslose Leistung gewährleistet.
Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀
Das CoreML-Exportformat ermöglicht es dir, deine Ultralytics YOLO26-Modelle für eine effiziente Objekterkennung in iOS- und macOS-Anwendungen zu optimieren. In diesem Leitfaden führen wir dich durch die Schritte zur Konvertierung deiner Modelle in das CoreML-Format, damit deine Modelle auf Apple-Geräten besser funktionieren.
Link to this sectionCoreML#
CoreML ist das grundlegende Machine-Learning-Framework von Apple, 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, Natural Language Processing, Audio-zu-Text-Konvertierung und Klanganalyse unterstützt.
Anwendungen können von Core ML profitieren, ohne dass eine Netzwerkverbindung oder API-Aufrufe erforderlich sind, da das Core ML-Framework durch On-Device-Computing funktioniert. Das bedeutet, dass die Modellinferenz lokal auf dem Gerät des Benutzers durchgeführt werden kann.
Link to this sectionHauptmerkmale von CoreML-Modellen#
Das CoreML-Framework von Apple bietet robuste Funktionen für Machine Learning auf dem Gerät. Hier sind die wichtigsten Merkmale, 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.
-
On-Device Machine Learning: Gewährleistet Datenschutz und schnelle Verarbeitung durch die Ausführung von Modellen direkt auf dem Gerät des Benutzers, wodurch keine Netzwerkverbindung erforderlich ist.
-
Leistung und Optimierung: Nutzt die CPU, GPU und Neural Engine des Geräts für optimale Leistung bei minimalem Strom- und Speicherverbrauch. Bietet Werkzeuge zur Modellkomprimierung und -optimierung unter Beibehaltung der Genauigkeit.
-
Einfache Integration: Bietet ein einheitliches Format für verschiedene Modelltypen und eine benutzerfreundliche API für die nahtlose Integration in Apps. Unterstützt domänenspezifische Aufgaben durch Frameworks wie Vision und Natural Language.
-
Erweiterte Funktionen: Enthält Funktionen für das Training auf dem Gerät für personalisierte Erlebnisse, asynchrone Vorhersagen für interaktive ML-Erlebnisse sowie Werkzeuge zur Modellinspektion und -validierung.
Link to this sectionCoreML-Bereitstellungsoptionen#
Bevor wir uns den Code für den Export von YOLO26-Modellen in das CoreML-Format ansehen, wollen wir verstehen, wo CoreML-Modelle normalerweise eingesetzt werden.
CoreML bietet verschiedene Bereitstellungsoptionen für Machine-Learning-Modelle, darunter:
-
On-Device-Bereitstellung: Diese Methode integriert CoreML-Modelle direkt in deine iOS-App. Sie ist besonders vorteilhaft, um eine niedrige Latenz, verbesserten Datenschutz (da die Daten auf dem Gerät bleiben) und Offline-Funktionalität zu gewährleisten. Dieser Ansatz kann jedoch durch die Hardwarekapazitäten des Geräts eingeschränkt sein, insbesondere bei größeren und komplexeren Modellen, und kann auf die folgenden zwei Arten durchgeführt werden:
-
Eingebettete Modelle: Diese Modelle sind im App-Bundle enthalten und sofort zugänglich. Sie sind ideal für kleine Modelle, die keine häufigen Aktualisierungen erfordern.
-
Heruntergeladene Modelle: Diese Modelle werden bei Bedarf von einem Server abgerufen. Dieser Ansatz eignet sich für größere Modelle oder solche, die regelmäßige Aktualisierungen benötigen. Er trägt dazu bei, die Größe des App-Bundles geringer 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äßige Updates erfordern. Sie erfordert jedoch eine Internetverbindung und kann Latenz- und Sicherheitsprobleme mit sich bringen.
Link to this sectionExportieren von YOLO26-Modellen nach CoreML#
Der Export von YOLO26 nach CoreML ermöglicht eine optimierte Machine-Learning-Leistung auf dem Gerät innerhalb des Apple-Ökosystems und bietet Vorteile in Bezug auf Effizienz, Sicherheit und nahtlose Integration in iOS-, macOS-, watchOS- und tvOS-Plattformen.
Link to this sectionInstallation#
Um das erforderliche Paket zu installieren, führe aus:
# Install the required package for YOLO26
pip install ultralyticsFür detaillierte Anweisungen und Best Practices im Zusammenhang mit dem Installationsprozess lies unseren YOLO26-Installationsleitfaden. Falls du bei der Installation der erforderlichen Pakete für YOLO26 auf Schwierigkeiten stößt, konsultiere unseren Leitfaden für allgemeine Probleme für Lösungen und Tipps.
Link to this sectionVerwendung#
Bevor du dich mit den Anweisungen zur Verwendung befasst, sieh dir unbedingt die Auswahl an YOLO26-Modellen von Ultralytics an. Dies hilft dir, das am besten geeignete Modell für deine Projektanforderungen auszuwählen.
Das CoreML-Format unterstützt die Modi Exportieren, Vorhersagen und Validieren. Inferenz und Validierung mit CoreML funktionieren nur unter macOS. Exportiere dein Modell und lade dann das exportierte Modell, um eine Inferenz auszuführen oder dessen Genauigkeit zu validieren.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to CoreML format
model.export(format="coreml") # creates 'yolo26n.mlpackage'from ultralytics import YOLO
# Load the exported CoreML model
model = YOLO("yolo26n.mlpackage")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported CoreML model
model = YOLO("yolo26n.mlpackage")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionExport-Argumente#
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
format | str | 'coreml' | Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen definiert. |
imgsz | int oder tuple | 640 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
dynamic | bool | False | Ermöglicht dynamische Eingabegrößen, was die Flexibilität bei der Handhabung unterschiedlicher Bildabmessungen erhöht. |
half | bool | False | Aktiviert FP16-Quantisierung (Halbpräzision), wodurch die Modellgröße reduziert und die Inferenz auf unterstützter Hardware potenziell beschleunigt wird. |
int8 | bool | False | Aktiviert die INT8-Quantisierung, die das Modell weiter komprimiert und die Inferenz mit minimalem Genauigkeitsverlust beschleunigt, vor allem für Edge-Geräte. |
nms | bool | False | Fügt Non-Maximum Suppression (NMS) hinzu, was für eine genaue und effiziente Detektionsnachbearbeitung unerlässlich ist. |
batch | int | 1 | Gibt die Batch-Inferenzgröße des Exportmodells oder die maximale Anzahl an Bildern an, die das exportierte Modell gleichzeitig im predict-Modus verarbeitet. |
device | str | None | Gibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu), MPS für Apple Silicon (device=mps). |
Bitte stelle sicher, dass du einen macOS- oder x86-Linux-Rechner verwendest, wenn du nach CoreML exportierst.
Weitere Details zum Exportprozess findest du auf der Ultralytics-Dokumentationsseite zum Export.
Link to this sectionBereitstellung exportierter YOLO26-CoreML-Modelle#
Nachdem du deine Ultralytics YOLO26-Modelle erfolgreich nach CoreML exportiert hast, ist die nächste kritische Phase die effektive Bereitstellung dieser Modelle. Für detaillierte Anleitungen zur Bereitstellung von CoreML-Modellen in verschiedenen Umgebungen sieh dir diese Ressourcen an:
-
CoreML Tools: Dieser Leitfaden enthält Anweisungen und Beispiele zur Konvertierung von Modellen von TensorFlow, PyTorch und anderen Bibliotheken zu Core ML.
-
ML und Vision: Eine Sammlung umfassender Videos, die verschiedene Aspekte der Verwendung und Implementierung von CoreML-Modellen abdecken.
-
Integration eines Core ML-Modells in deine App: Ein umfassender Leitfaden zur Integration eines CoreML-Modells in eine iOS-Anwendung, der die Schritte von der Vorbereitung des Modells bis zur Implementierung in der App für verschiedene Funktionalitäten erläutert.
Link to this sectionZusammenfassung#
In diesem Leitfaden haben wir gezeigt, wie man Ultralytics YOLO26-Modelle in das CoreML-Format exportiert. Indem du die in diesem Leitfaden beschriebenen Schritte befolgst, kannst du maximale Kompatibilität und Leistung beim Export von YOLO26-Modellen nach CoreML gewährleisten.
Weitere Details zur Verwendung findest du in der offiziellen CoreML-Dokumentation.
Wenn du außerdem mehr über andere Ultralytics YOLO26-Integrationen erfahren möchtest, besuche unsere Integrationsleitfaden-Seite. Dort findest du viele wertvolle Ressourcen und Einblicke.
Link to this sectionFAQ#
Link to this sectionWie exportiere ich YOLO26-Modelle in das CoreML-Format?#
Um deine Ultralytics YOLO26-Modelle in das CoreML-Format zu exportieren, musst du zunächst sicherstellen, dass das ultralytics-Paket installiert ist. Du kannst es installieren mit:
pip install ultralyticsAls nächstes kannst du das Modell mit den folgenden Python- oder CLI-Befehlen exportieren:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="coreml")Weitere Details findest du im Abschnitt Exportieren von YOLO26-Modellen nach CoreML unserer Dokumentation.
Link to this sectionWas sind die Vorteile der Verwendung von CoreML für die Bereitstellung von YOLO26-Modellen?#
CoreML bietet zahlreiche Vorteile für die Bereitstellung von Ultralytics YOLO26-Modellen auf Apple-Geräten:
- On-Device-Verarbeitung: Ermöglicht eine lokale Modellinferenz auf Geräten, was den Datenschutz gewährleistet und die Latenz minimiert.
- Leistungsoptimierung: Nutzt das volle Potenzial der CPU, GPU und Neural Engine des Geräts und optimiert sowohl Geschwindigkeit als auch Effizienz.
- Einfache Integration: Bietet eine nahtlose Integrationserfahrung mit den Ökosystemen von Apple, einschließlich iOS, macOS, watchOS und tvOS.
- Vielseitigkeit: Unterstützt eine breite Palette von Machine-Learning-Aufgaben wie Bildanalyse, Audioverarbeitung und Natural Language Processing unter Verwendung des CoreML-Frameworks.
Für weitere Details zur Integration deines CoreML-Modells in eine iOS-App schau dir den Leitfaden Integration eines Core ML-Modells in deine App an.
Link to this sectionWas sind die Bereitstellungsoptionen für YOLO26-Modelle, die nach CoreML exportiert wurden?#
Sobald du dein YOLO26-Modell in das CoreML-Format exportiert hast, hast du mehrere Bereitstellungsoptionen:
-
On-Device-Bereitstellung: Integriere CoreML-Modelle direkt in deine App für verbesserten Datenschutz und Offline-Funktionalität. Dies kann erfolgen als:
- Eingebettete Modelle: Im App-Bundle enthalten, sofort zugänglich.
- Heruntergeladene Modelle: Bei Bedarf von einem Server abgerufen, wodurch die Größe des App-Bundles geringer gehalten wird.
-
Cloud-basierte Bereitstellung: Hoste CoreML-Modelle auf Servern und greife über API-Anfragen darauf zu. Dieser Ansatz unterstützt einfachere Updates und kann komplexere Modelle verarbeiten.
Für detaillierte Anleitungen zur Bereitstellung von CoreML-Modellen siehe CoreML-Bereitstellungsoptionen.
Link to this sectionWie stellt CoreML eine optimierte Leistung für YOLO26-Modelle sicher?#
CoreML stellt eine optimierte Leistung für Ultralytics YOLO26-Modelle durch verschiedene Optimierungstechniken sicher:
- Hardwarebeschleunigung: Nutzt die CPU, GPU und Neural Engine des Geräts für effiziente Berechnungen.
- Modellkomprimierung: Bietet Werkzeuge zur Komprimierung von Modellen, um deren Speicherbedarf zu reduzieren, ohne die Genauigkeit zu beeinträchtigen.
- Adaptive Inferenz: Passt die Inferenz an die Fähigkeiten des Geräts an, um ein Gleichgewicht zwischen Geschwindigkeit und Leistung zu wahren.
Für weitere Informationen zur Leistungsoptimierung besuche die offizielle CoreML-Dokumentation.
Link to this sectionKann ich die Inferenz direkt mit dem exportierten CoreML-Modell ausführen?#
Ja, du kannst die Inferenz direkt mit dem exportierten CoreML-Modell ausführen. Nachfolgend findest du die Befehle für Python und CLI:
from ultralytics import YOLO
coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")Weitere Informationen findest du im Abschnitt Verwendung des CoreML-Exportleitfadens.