Skip to content

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 Vue d'ensemble

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.

Les applications peuvent tirer parti de Core ML sans avoir besoin d'une connexion réseau ou d'appels API, car le cadre de Core ML fonctionne à l'aide de l'informatique sur l'appareil. Cela signifie que l'inférence du modèle peut être effectuée localement sur l'appareil de l'utilisateur.

Caractéristiques principales des modèles CoreML

Le framework CoreML d'Apple offre des fonctionnalités robustes pour l'apprentissage automatique sur l'appareil. Voici les principales caractéristiques qui font de CoreML un outil puissant pour les développeurs :

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

CoreML Modèles pris en charge

  • 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.

  • Facilité d'intégration: Fournit un format unifié pour divers types de modèles et une API conviviale pour une intégration transparente dans les apps. Prend en charge les tâches spécifiques à un domaine grâce à des frameworks tels que Vision et Natural Language.

  • Fonctionnalités avancées: Comprend des capacités de formation sur l'appareil pour des expériences personnalisées, des prédictions asynchrones pour des expériences interactives de ML, et des outils d'inspection et de validation des modèles.

CoreML Options de déploiement

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

CoreML propose diverses options de déploiement pour les modèles d'apprentissage automatique, notamment :

  • Déploiement sur l'appareil: Cette méthode intègre directement les modèles CoreML dans ton application iOS . Elle est particulièrement avantageuse pour garantir une faible latence, une meilleure confidentialité (puisque les données restent sur l'appareil) et une fonctionnalité hors ligne. Cette approche peut toutefois être limitée par les capacités matérielles de l'appareil, en particulier pour les modèles plus grands et plus complexes. Le déploiement sur l'appareil peut être exécuté de deux façons.

    • Modèles intégrés: Ces modèles sont inclus dans le bundle de l'appli et sont immédiatement accessibles. Ils sont idéaux pour les petits modèles qui ne nécessitent pas de mises à jour fréquentes.

    • Modèles téléchargés: Ces modèles sont récupérés sur un serveur en fonction des besoins. Cette approche convient aux modèles plus importants ou à ceux qui nécessitent des mises à jour régulières. Elle permet de réduire la taille du paquet d'applications.

  • Déploiement basé sur le cloud: les modèles CoreML sont hébergés sur des serveurs et l'appli iOS y accède par le biais de requêtes API. Cette option évolutive et flexible permet de mettre facilement à jour les modèles sans révision de l'appli. Elle est idéale pour les modèles complexes ou les apps à grande échelle nécessitant des mises à jour régulières. Cependant, elle nécessite une connexion internet et peut poser des problèmes de latence et de sécurité.

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

Pour installer le paquetage requis, exécute :

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.

Utilisation

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.

Utilisation

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'

Pour plus de détails sur le processus d'exportation, visite la page de documentationUltralytics sur l'exportation.

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 et Vision: Une collection de vidéos complètes qui couvrent divers aspects de l'utilisation et de la mise en œuvre des modèles CoreML .

  • Intégrer un modèle ML de base dans ton application: Un guide complet sur l'intégration d'un modèle CoreML dans une application iOS , détaillant les étapes depuis la préparation du modèle jusqu'à son implémentation dans l'appli pour diverses fonctionnalités.

Résumé

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.

Pour plus de détails sur l'utilisation, consulte la documentation officielle deCoreML .

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?

Pour exporter tes Ultralytics YOLO11 au format CoreML , tu dois d'abord t'assurer que tu disposes des informations suivantes ultralytics est installé. Tu peux l'installer en utilisant :

Installation

pip install ultralytics

Ensuite, tu peux exporter le modèle à l'aide des commandes suivantes Python ou CLI :

Utilisation

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.
  • Optimisation des performances: Exploite tout le potentiel de l'appareil CPU, GPU, et du moteur neuronal, en optimisant à la fois la vitesse et l'efficacité.
  • Facilité d'intégration: Offre une expérience d'intégration transparente avec les écosystèmes d'Apple, notamment iOS, macOS, watchOS et tvOS.
  • Polyvalence: Prend en charge un large éventail de tâches d'apprentissage automatique telles que l'analyse d'images, le traitement audio et le traitement du langage naturel à l'aide du cadre CoreML .

Pour plus de détails sur l'intégration de ton modèle CoreML dans une application iOS , consulte le guide sur l'intégration d'un modèle ML de base dans ton application.

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. Déploiement sur l'appareil: Intègre directement les modèles CoreML dans ton appli pour améliorer la confidentialité et la fonctionnalité hors ligne. Cela peut se faire comme :

    • Modèles intégrés: Inclus dans l'app bundle, accessible immédiatement.
    • Modèles téléchargés: Téléchargés d'un serveur au fur et à mesure des besoins, ce qui permet de réduire la taille du paquet d'applications.
  2. Déploiement basé sur le cloud: Héberger les modèles CoreML sur des serveurs et y accéder via des requêtes API. Cette approche prend en charge des mises à jour plus faciles et peut gérer des modèles plus complexes.

Pour des conseils détaillés sur le déploiement des modèles CoreML , voir CoreML Options de déploiement.

How does CoreML ensure optimized performance for YOLO11 models?

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

  • Accélération matérielle: Utilise le site CPU, GPU, et le moteur neuronal de l'appareil pour des calculs efficaces.
  • Compression de modèles: Fournit des outils pour compresser les modèles afin de réduire leur encombrement sans compromettre la précision.
  • Inférence adaptative: Ajuste l'inférence en fonction des capacités de l'appareil pour maintenir un équilibre entre vitesse et performance.

Pour plus d'informations sur l'optimisation des performances, visite la documentation officielle deCoreML .

Puis-je faire de l'inférence directement avec le modèle exporté CoreML ?

Oui, tu peux lancer l'inférence directement en utilisant le modèle exporté CoreML . Tu trouveras ci-dessous les commandes pour Python et CLI:

Inférence en cours d'exécution

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'

Pour plus d'informations, reporte-toi à la section Utilisation du guide d'exportation CoreML .

📅 Created 9 months ago ✏️ Updated 1 month ago

Commentaires