Zum Inhalt springen

CoreML-Export für YOLO26-Modelle

Die Bereitstellung von Computer Vision-Modellen auf Apple-Geräten wie iPhones und Macs erfordert ein Format, das eine nahtlose Leistung gewährleistet.



Ansehen: So exportieren Sie Ultralytics YOLO26 nach CoreML für 2x schnellere Inferenz auf Apple-Geräten 🚀

Das CoreML-Exportformat ermöglicht es Ihnen, Ihre Ultralytics YOLO26 Modelle für eine effiziente Objekterkennung in iOS- und macOS-Anwendungen zu optimieren. In diesem Leitfaden führen wir Sie durch die Schritte zur Konvertierung Ihrer Modelle in das CoreML-Format, wodurch Ihre Modelle auf Apple-Geräten besser funktionieren.

CoreML

Apple CoreML spipeline

CoreML ist Apples grundlegendes Framework für maschinelles Lernen, das auf Accelerate, BNNS und Metal Performance Shaders aufbaut. Es bietet ein Format für maschinelles Lernen, das sich nahtlos in iOS-Anwendungen integrieren lässt und Aufgaben wie Bildanalyse, natürliche Sprachverarbeitung, Audio-zu-Text-Konvertierung und Klanganalyse unterstützt.

Anwendungen können Core ML nutzen, ohne eine Netzwerkverbindung oder API-Aufrufe zu benötigen, da das Core ML Framework auf On-Device-Computing basiert. Dies bedeutet, dass die Modellinferenz lokal auf dem Gerät des Benutzers durchgeführt werden kann.

Hauptmerkmale von CoreML-Modellen

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 Deep-Learning-Frameworks

  • On-Device Machine Learning: Gewährleistet Datenschutz und schnelle Verarbeitung, indem Modelle direkt auf dem Gerät des Benutzers ausgeführt werden, wodurch die Notwendigkeit einer Netzwerkverbindung entfällt.

  • Leistung und Optimierung: Nutzt die CPU, GPU und Neural Engine des Geräts für optimale Leistung bei minimalem Strom- und Speicherverbrauch. Bietet Tools 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: Beinhaltet On-Device-Trainingsfunktionen für personalisierte Erlebnisse, asynchrone Vorhersagen für interaktive ML-Erlebnisse sowie Tools zur Modellinspektion und -validierung.

CoreML-Bereitstellungsoptionen

Bevor wir uns den Code für den Export von YOLO26 Modellen in das CoreML-Format ansehen, wollen wir verstehen, wo CoreML-Modelle üblicherweise eingesetzt werden.

CoreML bietet verschiedene Bereitstellungsoptionen für Modelle des maschinellen Lernens, darunter:

  • On-Device-Bereitstellung: Diese Methode integriert CoreML-Modelle direkt in Ihre iOS-App. Sie ist besonders vorteilhaft, um niedrige Latenz, verbesserte Privatsphäre (da Daten auf dem Gerät verbleiben) und Offline-Funktionalität zu gewährleisten. Dieser Ansatz kann jedoch durch die Hardwarefähigkeiten des Geräts begrenzt sein, insbesondere bei größeren und komplexeren Modellen, und er kann auf die folgenden zwei Arten ausgeführt werden:

    • Embedded Models (Eingebettete Modelle): Diese Modelle sind im App-Bundle enthalten und sofort zugänglich. Sie eignen sich ideal für kleine Modelle, die keine häufigen Aktualisierungen erfordern.

    • Downloaded Models (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 zu verringern.

  • Cloud-Based Deployment (Cloudbasierte Bereitstellung): CoreML-Modelle werden auf Servern gehostet und von der iOS-App über API-Anfragen abgerufen. 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 Aktualisierungen erfordern. Sie erfordert jedoch eine Internetverbindung und kann Latenz- und Sicherheitsprobleme verursachen.

Exportieren von YOLO26 Modellen nach CoreML

Der Export von YOLO26 nach CoreML ermöglicht eine optimierte, geräteinterne Machine-Learning-Leistung innerhalb des Apple-Ökosystems und bietet Vorteile in Bezug auf Effizienz, Sicherheit und nahtlose Integration mit iOS-, macOS-, watchOS- und tvOS-Plattformen.

Installation

Um das erforderliche Paket zu installieren, führen Sie Folgendes aus:

Installation

# Install the required package for YOLO26
pip install ultralytics

Für detaillierte Anweisungen und Best Practices zum Installationsprozess konsultieren Sie unsere YOLO26 Installationsanleitung. Sollten Sie bei der Installation der erforderlichen Pakete für YOLO26 auf Schwierigkeiten stoßen, finden Sie Lösungen und Tipps in unserer Anleitung für häufige Probleme.

Nutzung

Bevor Sie sich mit den Nutzungsanweisungen befassen, sehen Sie sich unbedingt die Palette der von Ultralytics angebotenen YOLO26-Modelle an. Dies hilft Ihnen, das am besten geeignete Modell für Ihre Projektanforderungen auszuwählen.

Nutzung

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

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

# Load the exported CoreML model
coreml_model = YOLO("yolo26n.mlpackage")

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

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

Export-Argumente

ArgumentTypStandardBeschreibung
formatstr'coreml'Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Deployment-Umgebungen definiert.
imgszint oder tuple640Gewünschte Bildgröße für die Modelleingabe. Kann eine ganze Zahl für quadratische Bilder oder ein Tupel (height, width) für bestimmte Abmessungen sein.
halfboolFalseAktiviert die FP16-Quantisierung (halbe Präzision), wodurch die Modellgröße reduziert und potenziell die Inferenz auf unterstützter Hardware beschleunigt wird.
int8boolFalseAktiviert die INT8-Quantisierung, wodurch das Modell weiter komprimiert und die Inferenz mit minimalem Genauigkeitsverlust beschleunigt wird, hauptsächlich für Edge-Geräte.
nmsboolFalseFügt Non-Maximum Suppression (NMS) hinzu, unerlässlich für eine genaue und effiziente Detektions-Nachbearbeitung.
batchint1Gibt die Batch-Inferenzgröße des Exportmodells oder die maximale Anzahl von Bildern an, die das exportierte Modell gleichzeitig verarbeitet predict Modus.
devicestrNoneGibt das Gerät für den Export an: GPU (device=0), CPU (device=cpu), MPS für Apple Silicon (device=mps), oder Auto-Modus mit angegebener Auslastungsfraktion (

Tipp

Bitte stellen Sie sicher, dass Sie einen macOS- oder x86-Linux-Rechner verwenden, wenn Sie nach CoreML exportieren.

Weitere Informationen zum Exportprozess finden Sie auf der Ultralytics-Dokumentationsseite zum Exportieren.

Bereitstellen exportierter YOLO26 CoreML Modelle

Nachdem Sie Ihre Ultralytics YOLO26 Modelle erfolgreich nach CoreML exportiert haben, ist die nächste entscheidende Phase die effektive Bereitstellung dieser Modelle. Detaillierte Anleitungen zur Bereitstellung von CoreML-Modellen in verschiedenen Umgebungen finden Sie in diesen Ressourcen:

  • CoreML Tools: Diese Anleitung enthält Anweisungen und Beispiele zur Konvertierung von Modellen aus TensorFlow, PyTorch und anderen Bibliotheken in Core ML.

  • ML and Vision: Eine Sammlung umfassender Videos, die verschiedene Aspekte der Verwendung und Implementierung von CoreML-Modellen abdecken.

  • Integration eines Core ML-Modells in Ihre App: Eine umfassende Anleitung zur Integration eines CoreML-Modells in eine iOS-Anwendung, die die Schritte von der Vorbereitung des Modells bis zur Implementierung in der App für verschiedene Funktionalitäten detailliert beschreibt.

Zusammenfassung

In diesem Leitfaden haben wir erläutert, wie Ultralytics YOLO26 Modelle in das CoreML-Format exportiert werden. Indem Sie die in diesem Leitfaden beschriebenen Schritte befolgen, können Sie maximale Kompatibilität und Leistung beim Export von YOLO26 Modellen nach CoreML gewährleisten.

Weitere Informationen zur Verwendung finden Sie in der offiziellen CoreML-Dokumentation.

Wenn Sie mehr über andere Ultralytics YOLO26 Integrationen erfahren möchten, besuchen Sie unsere Integrationsanleitungsseite. Dort finden Sie zahlreiche wertvolle Ressourcen und Einblicke.

FAQ

Wie exportiere ich YOLO26 Modelle in das CoreML-Format?

So exportieren Sie Ihre Ultralytics YOLO26 -Modelle in das CoreML-Format. Zuerst müssen Sie sicherstellen, dass Sie das ultralytics Paket installiert haben. Sie können es installieren mit:

Installation

pip install ultralytics

Als Nächstes können Sie das Modell mit den folgenden python- oder CLI-Befehlen exportieren:

Nutzung

from ultralytics import YOLO

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

Weitere Details finden Sie im Abschnitt Exportieren von YOLO26 Modellen nach CoreML unserer Dokumentation.

Welche Vorteile bietet die 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 Processing (Geräteinterne Verarbeitung): Ermöglicht die lokale Modellinferenz auf Geräten und gewährleistet so den Datenschutz und minimiert die Latenz.
  • Performance Optimization (Leistungsoptimierung): Nutzt das volle Potenzial der CPU, GPU und Neural Engine des Geräts und optimiert sowohl Geschwindigkeit als auch Effizienz.
  • Ease of Integration (Einfache Integration): Bietet eine nahtlose Integrationserfahrung mit den Apple-Ökosystemen, einschließlich iOS, macOS, watchOS und tvOS.
  • Versatility (Vielseitigkeit): Unterstützt eine breite Palette von Machine-Learning-Aufgaben wie Bildanalyse, Audioverarbeitung und Verarbeitung natürlicher Sprache mithilfe des CoreML-Frameworks.

Für weitere Details zur Integration Ihres CoreML-Modells in eine iOS-App sehen Sie sich den Leitfaden zur Integration eines Core ML-Modells in Ihre App an.

Welche Bereitstellungsoptionen gibt es für nach CoreML exportierte YOLO26 Modelle?

Sobald Sie Ihr YOLO26 Modell in das CoreML-Format exportiert haben, stehen Ihnen mehrere Bereitstellungsoptionen zur Verfügung:

  1. On-Device Deployment: Integrieren Sie CoreML-Modelle direkt in Ihre App, um den Datenschutz zu verbessern und Offline-Funktionalität zu gewährleisten. Dies kann erfolgen als:

    • Embedded Models: Im App-Bundle enthalten und sofort zugänglich.
    • Downloaded Models: Bei Bedarf von einem Server abgerufen, wodurch die Größe des App-Bundles kleiner bleibt.
  2. Cloud-Based Deployment: Hosten Sie CoreML-Modelle auf Servern und greifen Sie über API-Anfragen darauf zu. Dieser Ansatz unterstützt einfachere Aktualisierungen und kann komplexere Modelle verarbeiten.

Detaillierte Anleitungen zur Bereitstellung von CoreML-Modellen finden Sie unter CoreML Deployment Options.

Wie gewährleistet CoreML eine optimierte Leistung für YOLO26 Modelle?

CoreML gewährleistet eine optimierte Leistung für Ultralytics YOLO26 Modelle durch den Einsatz verschiedener Optimierungstechniken:

  • Hardware Acceleration: Nutzt die CPU, GPU und Neural Engine des Geräts für eine effiziente Berechnung.
  • Model Compression: Bietet Tools zum Komprimieren von Modellen, um ihren Speicherbedarf zu reduzieren, ohne die Genauigkeit zu beeinträchtigen.
  • Adaptive Inference: Passt die Inferenz basierend auf den 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 CoreML-Dokumentation.

Kann ich Inferenz direkt mit dem exportierten CoreML-Modell ausführen?

Ja, Sie können die Inferenz direkt mit dem exportierten CoreML-Modell ausführen. Nachfolgend finden Sie die Befehle für Python und CLI:

Inferenz ausführen

from ultralytics import YOLO

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

Weitere Informationen finden Sie im Abschnitt zur Verwendung des CoreML-Exportleitfadens.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 5 Tagen
glenn-jocherRizwanMunawarlakshanthadUltralyticsAssistantY-T-Gwillie.maddox@gmail.comlakshanthadMatthewNoyceRizwanMunawarabirami-vina

Kommentare