Skip to content

Comment exporter vers NCNN à partir de YOLOv8 pour un déploiement en douceur ?

Déployer des modèles de vision par ordinateur sur des appareils dont la puissance de calcul est limitée, comme les systèmes mobiles ou embarqués, peut s'avérer délicat. Tu dois t'assurer d'utiliser un format optimisé pour des performances optimales. Cela permet de s'assurer que même les appareils dotés d'une puissance de traitement limitée peuvent bien gérer les tâches avancées de vision par ordinateur.

La fonction d'exportation vers le format NCNN te permet d'optimiser tes Ultralytics YOLOv8 modèles pour des applications légères basées sur des appareils. Dans ce guide, nous t'expliquons comment convertir tes modèles au format NCNN , ce qui te permettra d'obtenir plus facilement de bons résultats sur divers appareils mobiles et embarqués.

Pourquoi exporter vers NCNN?

NCNN vue d'ensemble

Le NCNN framework, développé par Tencent, est un framework informatique d'inférence de réseau neuronal haute performance optimisé spécifiquement pour les plateformes mobiles, notamment les téléphones portables, les appareils embarqués et les appareils IoT. NCNN est compatible avec un large éventail de plateformes, notamment Linux, Android, iOS, et macOS.

NCNN est connu pour sa vitesse de traitement rapide sur les CPU mobiles et permet de déployer rapidement des modèles d'apprentissage profond sur les plateformes mobiles. Cela facilite la création d'applications intelligentes, en mettant la puissance de l'IA à portée de main.

Caractéristiques principales des modèles NCNN

NCNN offrent un large éventail de fonctionnalités clés qui permettent l'apprentissage automatique sur appareil en aidant les développeurs à exécuter leurs modèles sur des appareils mobiles, embarqués et périphériques :

  • EfficacitĂ© et haute performance: les modèles NCNN sont conçus pour ĂŞtre efficaces et lĂ©gers, optimisĂ©s pour fonctionner sur des appareils mobiles et embarquĂ©s tels que Raspberry Pi avec des ressources limitĂ©es. Ils peuvent Ă©galement atteindre des performances Ă©levĂ©es avec une grande prĂ©cision pour diverses tâches basĂ©es sur la vision par ordinateur.

  • Quantification: NCNN les modèles prennent souvent en charge la quantification, une technique qui rĂ©duit la prĂ©cision des poids et des activations du modèle. Cela permet d'amĂ©liorer encore les performances et de rĂ©duire l'empreinte mĂ©moire.

  • CompatibilitĂ©: les modèles NCNN sont compatibles avec les cadres d'apprentissage profond populaires tels que. TensorFlowCaffe, et ONNX. Cette compatibilitĂ© permet aux dĂ©veloppeurs d'utiliser facilement les modèles et les flux de travail existants.

  • Facile Ă  utiliser: les modèles NCNN sont conçus pour ĂŞtre facilement intĂ©grĂ©s dans diverses applications, grâce Ă  leur compatibilitĂ© avec les cadres d'apprentissage profond les plus rĂ©pandus. En outre, NCNN propose des outils conviviaux pour convertir les modèles entre diffĂ©rents formats, ce qui garantit une interopĂ©rabilitĂ© fluide dans l'ensemble du paysage de dĂ©veloppement.

Options de déploiement avec NCNN

Avant de regarder le code pour l’exportation YOLOv8 modèles à la NCNN format, comprenons comment NCNN sont normalement utilisés.

NCNN conçus pour l'efficacité et la performance, sont compatibles avec une variété de plateformes de déploiement :

  • DĂ©ploiement mobile: SpĂ©cifiquement optimisĂ© pour Android et iOS, permettant une intĂ©gration transparente dans les applications mobiles pour une infĂ©rence efficace sur l'appareil.

  • Systèmes embarquĂ©s et appareils IoT: Si tu trouves que l'exĂ©cution de l'infĂ©rence sur un Raspberry Pi avec le guideUltralytics n'est pas assez rapide, le passage Ă  un modèle exportĂ© NCNN peut aider Ă  accĂ©lĂ©rer les choses. NCNN est idĂ©al pour les appareils comme le Raspberry Pi et NVIDIA Jetson, en particulier dans les situations oĂą tu as besoin d'un traitement rapide directement sur l'appareil.

  • DĂ©ploiement sur ordinateur et serveur: Capable d'ĂŞtre dĂ©ployĂ© dans des environnements de bureau et de serveur Ă  travers Linux, Windows et macOS, prenant en charge le dĂ©veloppement, la formation et l'Ă©valuation avec des capacitĂ©s de calcul plus Ă©levĂ©es.

Exporter vers NCNN: Conversion de ton modèle YOLOv8

Tu peux étendre la compatibilité des modèles et la flexibilité du déploiement en convertissant les modèles YOLOv8 au format NCNN .

Installation

Pour installer les paquets nécessaires, 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'installationUltralytics . 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 plonger dans les instructions d'utilisation, il est important de noter que si tous les modèlesUltralytics YOLOv8 sont disponibles pour l'exportation, tu peux t'assurer que le modèle que tu as choisi prend en charge la fonctionnalité d'exportation ici.

Utilisation

from ultralytics import YOLO

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

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("./yolov8n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to NCNN format
yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'

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

Pour plus de détails sur les options d'exportation prises en charge, visite la page de documentationUltralytics sur les options de déploiement.

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

Après avoir exporté avec succès tes modèles Ultralytics YOLOv8 au format NCNN , tu peux maintenant les déployer. La première étape recommandée pour exécuter un modèle NCNN est d'utiliser la méthode YOLO("./model_ncnn_model"), comme indiqué dans l'extrait de code précédent. Cependant, pour obtenir des instructions détaillées sur le déploiement de tes modèles NCNN dans d'autres contextes, jette un coup d'œil aux ressources suivantes :

  • Android: Ce blog explique comment utiliser les modèles NCNN pour effectuer des tâches telles que la dĂ©tection d'objets Ă  travers les applications Android .

  • macOS: Comprendre comment utiliser les modèles NCNN pour effectuer des tâches par le biais de macOS.

  • Linux: Explore cette page pour apprendre Ă  dĂ©ployer les modèles NCNN sur des appareils aux ressources limitĂ©es comme le Raspberry Pi et d'autres appareils similaires.

  • Windows x64 avec VS2017: Explore ce blog pour apprendre Ă  dĂ©ployer les modèles NCNN sur windows x64 Ă  l'aide de Visual Studio Community 2017.

Résumé

Dans ce guide, nous avons étudié l'exportation des modèles Ultralytics YOLOv8 vers le format NCNN . Cette étape de conversion est cruciale pour améliorer l'efficacité et la rapidité des modèles YOLOv8 , ce qui les rend plus efficaces et adaptés aux environnements informatiques à ressources limitées.

Pour des instructions détaillées sur l'utilisation, tu peux te référer à la documentation officielle de NCNN .

De plus, si tu souhaites explorer d'autres options d'intégration pour Ultralytics YOLOv8 , ne manque pas de visiter notre page de guide d'intégration pour plus d'idées et d'informations.

FAQ

Comment exporter les modèles Ultralytics YOLOv8 au format NCNN ?

Pour exporter ton modèle Ultralytics YOLOv8 au format NCNN , suis les étapes suivantes :

  • Python: Utilise le export de la classe YOLO .

    from ultralytics import YOLO
    
    # Load the YOLOv8 model
    model = YOLO("yolov8n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'
    
  • CLI: Utilise le yolo avec la commande export argument.

    yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'
    

Pour des options d'exportation détaillées, consulte la page Exportation dans la documentation.

Quels sont les avantages de l'exportation des modèles YOLOv8 vers NCNN?

L'exportation de tes modèles Ultralytics YOLOv8 vers NCNN offre plusieurs avantages :

  • EfficacitĂ©: les modèles NCNN sont optimisĂ©s pour les appareils mobiles et embarquĂ©s, ce qui garantit des performances Ă©levĂ©es mĂŞme avec des ressources informatiques limitĂ©es.
  • Quantification: NCNN prend en charge des techniques comme la quantification qui amĂ©liorent la vitesse du modèle et rĂ©duisent l'utilisation de la mĂ©moire.
  • Large compatibilitĂ©: Tu peux dĂ©ployer les modèles NCNN sur plusieurs plateformes, y compris Android, iOS, Linux et macOS.

Pour plus de détails, voir la section Exporter vers NCNN dans la documentation.

Pourquoi devrais-je utiliser NCNN pour mes applications mobiles d'IA ?

NCNN, développé par Tencent, est spécifiquement optimisé pour les plateformes mobiles. Les principales raisons d'utiliser NCNN sont les suivantes :

  • Haute performance: Conçu pour un traitement efficace et rapide sur les unitĂ©s centrales mobiles.
  • Multiplateforme: Compatible avec des cadres populaires tels que TensorFlow et ONNX, ce qui facilite la conversion et le dĂ©ploiement des modèles sur diffĂ©rentes plateformes.
  • Soutien de la communautĂ©: Le soutien actif de la communautĂ© garantit des amĂ©liorations et des mises Ă  jour continues.

Pour en savoir plus, consulte l'aperçu deNCNN dans la documentation.

Quelles sont les plateformes prises en charge pour le déploiement du modèle NCNN ?

NCNN est polyvalent et prend en charge diverses plateformes :

  • Mobile: Android, iOS.
  • Systèmes embarquĂ©s et appareils IoT: Des appareils comme Raspberry Pi et NVIDIA Jetson.
  • Ordinateurs de bureau et serveurs: Linux, Windows et macOS.

Si l'exécution des modèles sur un Raspberry Pi n'est pas assez rapide, la conversion au format NCNN peut accélérer les choses, comme indiqué dans notre Guide Raspberry Pi.

Comment puis-je déployer les modèles Ultralytics YOLOv8 NCNN sur Android?

Pour déployer tes modèles YOLOv8 sur Android:

  1. Construire pour Android: Suis le guide NCNN Build for Android.
  2. Intégrer à ton application: Utilise le SDK NCNN Android pour intégrer le modèle exporté dans ton application pour une inférence efficace sur l'appareil.

Pour obtenir des instructions étape par étape, reporte-toi à notre guide sur le déploiement des modèles YOLOv8 NCNN .

Pour des guides plus avancés et des cas d'utilisation, visite la page de documentationUltralytics .



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

Commentaires