Zum Inhalt springen

CoreML Export for YOLO11 Models

Deploying computer vision models on Apple devices like iPhones and Macs requires a format that ensures seamless performance.

The CoreML export format allows you to optimize your Ultralytics YOLO11 models for efficient object detection in iOS and macOS applications. In this guide, we'll walk you through the steps for converting your models to the CoreML format, making it easier for your models to perform well on Apple devices.

CoreML

CoreML Übersicht

CoreML is Apple's foundational machine learning framework that builds upon Accelerate, BNNS, and Metal Performance Shaders. It provides a machine-learning model format that seamlessly integrates into iOS applications and supports tasks such as image analysis, natural language processing, audio-to-text conversion, and sound analysis.

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:

  • Comprehensive Model Support: Converts and runs models from popular frameworks like TensorFlow, PyTorch, scikit-learn, XGBoost, and LibSVM.

CoreML Unterstützte Modelle

  • On-device Machine Learning: Ensures data privacy and swift processing by executing models directly on the user's device, eliminating the need for network connectivity.

  • Performance and Optimization: Uses the device's CPU, GPU, and Neural Engine for optimal performance with minimal power and memory usage. Offers tools for model compression and optimization while maintaining accuracy.

  • 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

Before we look at the code for exporting YOLO11 models to the CoreML format, let's understand where CoreML models are usually used.

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: Die Modelle von CoreML 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 Apps, die regelmäßig aktualisiert werden müssen. Sie erfordert jedoch eine Internetverbindung und kann Latenz- und Sicherheitsprobleme mit sich bringen.

Exporting YOLO11 Models to CoreML

Exporting YOLO11 to CoreML enables optimized, on-device machine learning performance within Apple's ecosystem, offering benefits in terms of efficiency, security, and seamless integration with iOS, macOS, watchOS, and tvOS platforms.

Installation

Um das benötigte Paket zu installieren, führe es aus:

Installation

# Install the required package for YOLO11
pip install ultralytics

For detailed instructions and best practices related to the installation process, check our YOLO11 Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.

Verwendung

Before diving into the usage instructions, be sure to check out the range of YOLO11 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements.

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")
# Export a YOLO11n PyTorch model to CoreML format
yolo export model=yolo11n.pt format=coreml  # creates 'yolo11n.mlpackage''

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

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

Deploying Exported YOLO11 CoreML Models

Having successfully exported your Ultralytics YOLO11 models to CoreML, the next critical phase is deploying these models effectively. For detailed guidance on deploying CoreML models in various environments, check out these resources:

  • CoreML Tools: This guide includes instructions and examples to convert models from TensorFlow, PyTorch, and other libraries to 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 this guide, we went over how to export Ultralytics YOLO11 models to CoreML format. By following the steps outlined in this guide, you can ensure maximum compatibility and performance when exporting YOLO11 models to CoreML.

Weitere Einzelheiten zur Verwendung findest du in der offiziellen DokumentationCoreML .

Also, if you'd like to know more about other Ultralytics YOLO11 integrations, visit our integration guide page. You'll find plenty of valuable resources and insights there.

FAQ

How do I export YOLO11 models to CoreML format?

Zum Exportieren deiner Ultralytics YOLO11 Modelle in das Format CoreML zu übertragen, musst du zunächst sicherstellen, dass du die ultralytics Paket installiert. Du kannst es mit installieren:

Installation

pip install ultralytics

Anschließend kannst du das Modell mit den folgenden Befehlen exportieren: Python oder CLI :

Verwendung

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="coreml")
yolo export model=yolo11n.pt format=coreml

For further details, refer to the Exporting YOLO11 Models to CoreML section of our documentation.

What are the benefits of using CoreML for deploying YOLO11 models?

CoreML provides numerous advantages for deploying Ultralytics YOLO11 models on Apple devices:

  • On-device Processing: Enables local model inference on devices, ensuring data privacy and minimizing latency.
  • Optimierung der Leistung: Nutzt das volle Potenzial der CPU, GPU und der Neural Engine des Geräts 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 maschinellen Lernaufgaben wie Bildanalyse, Audioverarbeitung und Verarbeitung natürlicher Sprache mit dem CoreML Framework.

Weitere Details zur Integration deines CoreML Modells in eine iOS App findest du im Leitfaden zur Integration eines ML Kernmodells in deine App.

What are the deployment options for YOLO11 models exported to CoreML?

Once you export your YOLO11 model to CoreML format, you have multiple deployment options:

  1. On-Device Einsatz: Integriere die CoreML Modelle direkt in deine App, um den Datenschutz und die Offline-Funktionalität zu verbessern. Dies kann wie folgt geschehen:

    • Eingebettete Modelle: Im App-Paket enthalten, sofort verfügbar.
    • Heruntergeladene Modelle: Werden nach Bedarf von einem Server geholt, um die Größe des App-Pakets zu verringern.
  2. Cloud-basierter Einsatz: Hostet CoreML Modelle auf Servern und greift über API-Anfragen auf sie zu. Dieser Ansatz ermöglicht einfachere Aktualisierungen und kann komplexere Modelle verarbeiten.

Eine ausführliche Anleitung zum Einsatz der CoreML Modelle findest du unter CoreML Einsatzoptionen.

How does CoreML ensure optimized performance for YOLO11 models?

CoreML ensures optimized performance for Ultralytics YOLO11 models by utilizing various optimization techniques:

  • Hardware-Beschleunigung: Nutzt 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 Schlussfolgerungen an die Fähigkeiten des Geräts an, um ein Gleichgewicht zwischen Geschwindigkeit und Leistung zu wahren.

Weitere Informationen zur Leistungsoptimierung findest du in der offiziellen DokumentationCoreML .

Kann ich mit dem exportierten CoreML Modell direkt Inferenzen durchführen?

Ja, du kannst die Inferenz direkt mit dem exportierten CoreML Modell durchführen. Im Folgenden findest du die Befehle für Python und CLI:

Laufende Inferenz

from ultralytics import YOLO

coreml_model = YOLO("yolo11n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolo11n.mlpackage source='https://ultralytics.com/images/bus.jpg'

Weitere Informationen findest du im Abschnitt "Verwendung" der CoreML Exportanleitung.

📅 Created 8 months ago ✏️ Updated 22 days ago

Kommentare