Skip to content

CoreML Exportation pour les modèles YOLO11

Le déploiement de modèles de vision par ordinateur sur des appareils Apple tels que les iPhones et les Macs nécessite un format qui garantisse des performances sans faille.

Le format d'exportation CoreML vous permet d'optimiser vos modèles pour une détection efficace des objets dans les applications et macOS. Ultralytics YOLO11 modèles pour une détection efficace des objets dans les applications iOS et macOS. Dans ce guide, nous vous expliquons les étapes de la conversion de vos modèles au format CoreML , ce qui permet à vos modèles d'être plus performants sur les appareils Apple.

CoreML

CoreML Vue d'ensemble

CoreML est le cadre fondamental d'apprentissage automatique d'Apple qui s'appuie sur Accelerate, BNNS et Metal Performance Shaders. Il fournit un format de modèle d'apprentissage automatique qui s'intègre de manière transparente dans les applications iOS et prend en charge des tâches telles que l'analyse d'images, le traitement du langage naturel, la conversion audio/texte et l'analyse sonore.

Les applications peuvent tirer parti de Core ML sans avoir besoin d'une connexion réseau ou d'appels API, car le cadre Core ML utilise 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.

Principales caractéristiques 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 :

  • Prise en charge complète des modèles: Convertit et exĂ©cute des modèles Ă  partir de cadres populaires tels que TensorFlow, PyTorchscikit-learn, XGBoost et LibSVM.

CoreML Modèles pris en charge

  • Apprentissage automatique sur l'appareil: Garantit la confidentialitĂ© des donnĂ©es et un traitement rapide en exĂ©cutant les modèles directement sur l'appareil de l'utilisateur, ce qui Ă©limine la nĂ©cessitĂ© d'une connectivitĂ© rĂ©seau.

  • Performance et optimisation: Utilise les moteurs CPU, GPU et Neural Engine de l'appareil pour des performances optimales avec une consommation d'Ă©nergie et une utilisation de la mĂ©moire minimales. Offre des outils pour la compression et l'optimisation des modèles tout en maintenant la prĂ©cision.

  • FacilitĂ© d'intĂ©gration: Fournit un format unifiĂ© pour diffĂ©rents types de modèles et une API conviviale pour une intĂ©gration transparente dans les applications. 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 de modèles.

CoreML Options de déploiement

Avant d'examiner le code permettant d'exporter les modèles YOLO11 vers le format CoreML , il convient de comprendre où les modèles CoreML sont généralement utilisés.

CoreML offre 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 votre 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 manières.

    • Modèles intĂ©grĂ©s: Ces modèles sont inclus dans le paquet d'applications 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 de grande taille ou Ă  ceux qui nĂ©cessitent des mises Ă  jour rĂ©gulières. Elle permet de rĂ©duire la taille du paquet d'applications.

  • DĂ©ploiement dans le nuage: les modèles CoreML sont hĂ©bergĂ©s sur des serveurs et l'application 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 avoir Ă  rĂ©viser l'application. Elle est idĂ©ale pour les modèles complexes ou les applications Ă  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Ă©.

Exportation des modèles YOLO11 vers CoreML

L'exportation de YOLO11 vers CoreML permet d'optimiser les performances d'apprentissage automatique sur appareil au sein de l'écosystème d'Apple, offrant des avantages en termes d'efficacité, de sécurité et d'intégration transparente avec iOS, macOS, watchOS et les plateformes tvOS.

Installation

Pour installer le paquetage requis, exécutez :

Installation

# Install the required package for YOLO11
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consultez notre guide d'installationYOLO11 . Lors de l'installation des paquets requis pour YOLO11, si vous rencontrez des difficultés, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils.

Utilisation

Avant de vous plonger dans les instructions d'utilisation, n'oubliez pas de consulter la gamme de modèlesYOLO11 proposée par Ultralytics. Cela vous aidera à choisir le modèle le plus approprié aux exigences de votre projet.

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, consultez la page de documentationUltralytics sur l'exportation.

Déploiement des modèles exportés YOLO11 CoreML

Après avoir exporté avec succès vos modèles Ultralytics YOLO11 vers CoreML, la phase critique suivante consiste à déployer ces modèles de manière efficace. Pour obtenir des conseils détaillés sur le déploiement des modèles CoreML dans divers environnements, consultez les ressources suivantes :

  • CoreML Outils: Ce guide comprend des instructions et des exemples pour convertir les modèles de TensorFlow, PyTorch, et d'autres bibliothèques vers 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 votre 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'Ă  sa mise en Ĺ“uvre dans l'application pour diverses fonctionnalitĂ©s.

Résumé

Dans ce guide, nous avons vu comment exporter les modèles Ultralytics YOLO11 vers le format CoreML . En suivant les étapes décrites dans ce guide, vous pouvez garantir une compatibilité et des performances maximales lors de l'exportation de modèles YOLO11 vers CoreML.

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

Par ailleurs, si vous souhaitez en savoir plus sur d'autres intégrations de Ultralytics YOLO11 , visitez notre page de guide d'intégration. Vous y trouverez de nombreuses ressources et informations précieuses.

FAQ

Comment exporter les modèles YOLO11 au format CoreML ?

Pour exporter votre Ultralytics YOLO11 au format CoreML , vous devez d'abord vous assurer que vous disposez de l'information suivante ultralytics installé. Vous pouvez l'installer en utilisant :

Installation

pip install ultralytics

Vous pouvez ensuite exporter le modèle à l'aide des commandes Python ou CLI :

Utilisation

from ultralytics import YOLO

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

Pour plus de détails, consultez la section Exportation des modèles YOLO11 vers CoreML de notre documentation.

Quels sont les avantages de l'utilisation de CoreML pour le déploiement des modèles YOLO11 ?

CoreML offre de nombreux avantages pour le déploiement de Ultralytics YOLO11 sur les appareils Apple :

  • Traitement sur l'appareil: Permet l'infĂ©rence de modèles locaux sur les appareils, garantissant la confidentialitĂ© des donnĂ©es et minimisant la latence.
  • Optimisation des performances: Exploite tout le potentiel des moteurs CPU, GPU et Neural Engine de l'appareil, 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: Prise en charge d'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 votre modèle CoreML dans une application iOS , consultez le guide sur l'intégration d'un modèle ML de base dans votre application.

Quelles sont les options de déploiement pour les modèles YOLO11 exportés vers CoreML?

Une fois que vous avez exporté votre modèle YOLO11 au format CoreML , vous disposez de plusieurs options de déploiement :

  1. Déploiement sur l'appareil: Intégrez directement les modèles CoreML dans votre application pour améliorer la confidentialité et la fonctionnalité hors ligne. Cela peut se faire de la manière suivante :

    • Modèles intĂ©grĂ©s: Inclus dans l'app bundle, accessible immĂ©diatement.
    • Modèles tĂ©lĂ©chargĂ©s: Les modèles sont tĂ©lĂ©chargĂ©s Ă  partir d'un serveur en fonction des besoins, ce qui permet de rĂ©duire la taille du paquet d'applications.
  2. Déploiement dans le nuage: Héberger les modèles CoreML sur des serveurs et y accéder via des requêtes API. Cette approche facilite les mises à jour et permet de gérer des modèles plus complexes.

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

Comment CoreML garantit-il des performances optimales pour les modèles YOLO11 ?

CoreML garantit des performances optimales pour les modèles en utilisant diverses techniques d'optimisation. Ultralytics YOLO11 en utilisant diverses techniques d'optimisation :

  • 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 afin de maintenir un Ă©quilibre entre vitesse et performance.

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

Puis-je effectuer une inférence directement avec le modèle exporté CoreML ?

Oui, vous pouvez exécuter l'inférence directement en utilisant le modèle exporté CoreML . Vous trouverez 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, reportez-vous Ă  la section Utilisation du guide d'exportation CoreML .

📅C réé il y a 10 mois ✏️ Mis à jour il y a 2 mois

Commentaires