Skip to content

CoreML Exportation pour les modèles YOLOv8

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

Le format d'exportation CoreML te permet d'optimiser tes Ultralytics YOLOv8 modèles pour une détection efficace des objets dans les applications iOS et macOS. Dans ce guide, nous t'expliquons les étapes à suivre pour convertir tes modèles au format CoreML , ce qui facilitera les performances de tes modèles 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 façon 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 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 :

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

CoreML Modèles pris en charge

  • Apprentissage automatique sur l'appareil: Assure 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 le besoin de connectivitĂ© rĂ©seau.

  • Performance et optimisation: Utilise le processeur, le GPU et le moteur neuronal de l'appareil pour des performances optimales avec une utilisation minimale de la puissance et de la mĂ©moire. 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 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

Avant d'examiner le code permettant d'exporter les modèles YOLOv8 au format CoreML , comprenons où les modèles CoreML sont généralement utilisés.

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Ă©.

Exporter les modèles YOLOv8 vers CoreML

L'exportation de YOLOv8 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 les plateformes iOS, macOS, watchOS et tvOS.

Installation

Pour installer le paquetage requis, exécute :

Installation

# Install the required package for YOLOv8
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consulte notre guide d'installationYOLOv8 . Pendant l'installation des paquets requis pour YOLOv8, si tu rencontres des difficultés, consulte notre guide des problèmes courants pour trouver des solutions et des conseils.

Utilisation

Avant de te plonger dans les instructions d'utilisation, n'oublie pas de consulter la gamme de modèlesYOLOv8 proposée par Ultralytics. Cela t'aidera à choisir le modèle le plus approprié aux exigences de ton projet.

Utilisation

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

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

# Load the exported CoreML model
coreml_model = YOLO('yolov8n.mlpackage')

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

# Run inference with the exported model
yolo predict model=yolov8n.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.

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

Après avoir exporté avec succès tes modèles Ultralytics YOLOv8 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, consulte 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 en 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é

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

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

Par ailleurs, si tu souhaites en savoir plus sur d'autres intégrations de Ultralytics YOLOv8 , visite notre page de guide d'intégration. Tu y trouveras de nombreuses ressources et informations précieuses.



Créé le 2024-02-07, Mis à jour le 2024-03-03
Auteurs : glenn-jocher (1), RizwanMunawar (1), abirami-vina (1)

Commentaires