Comment exporter vers NCNN à partir de YOLO11 pour un déploiement en douceur ?
Le déploiement de modèles de vision par ordinateur sur des appareils dotés d'une puissance de calcul limitée, tels que les systèmes mobiles ou embarqués, peut s'avérer délicat. Vous devez vous assurer d'utiliser un format optimisé pour des performances optimales. Ce format permet de s'assurer que même les appareils dotés d'une puissance de traitement limitée peuvent traiter correctement les tâches de vision par ordinateur avancées.
La fonction d'exportation au format NCNN vous permet d'optimiser vos modèles pour des applications légères basées sur des appareils. Ultralytics YOLO11 pour des applications légères basées sur des appareils. Dans ce guide, nous vous expliquons comment convertir vos modèles au format NCNN , ce qui permet à vos modèles de fonctionner plus facilement sur divers appareils mobiles et embarqués.
Pourquoi exporter vers NCNN?
Le cadre NCNN développé par Tencent, est un cadre informatique d'inférence de réseau neuronal haute performance optimisé spécifiquement pour les plateformes mobiles, y compris les téléphones mobiles, les dispositifs intégrés et les dispositifs IoT. NCNN est compatible avec un large éventail de plateformes, y compris Linux, Android, iOS, et macOS.
NCNN est connu pour sa vitesse de traitement sur les processeurs mobiles et permet un déploiement rapide des modèles d'apprentissage profond sur les plateformes mobiles. Cela facilite la création d'applications intelligentes, mettant la puissance de l'IA à portée de main.
Principales caractéristiques 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, intégré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: les modèles NCNN 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 les plus répandus tels que TensorFlowCaffe, et ONNX. Cette compatibilité permet aux développeurs d'utiliser facilement les modèles et les flux de travail existants.
-
Facilité d'utilisation: 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 d'examiner le code permettant d'exporter les modèles YOLO11 vers le format NCNN , il convient de comprendre comment les modèles 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, il permet une intégration transparente dans les applications mobiles pour une inférence efficace sur l'appareil.
-
Systèmes embarqués et appareils IoT: Si vous trouvez 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 tels que Raspberry Pi et NVIDIA Jetson, en particulier dans les situations où vous avez 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 sous Linux, Windows et macOS, il prend en charge le développement, la formation et l'évaluation avec des capacités de calcul plus élevées.
Exportation vers NCNN: Conversion de votre modèle YOLO11
Vous pouvez étendre la compatibilité des modèles et la flexibilité du déploiement en convertissant les modèles YOLO11 au format NCNN .
Installation
Pour installer les paquets nécessaires, exécutez :
Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consultez notre guide d'installationUltralytics . 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 plonger dans les instructions d'utilisation, il est important de noter que si tous les modèlesUltralytics YOLO11 sont disponibles pour l'exportation, vous pouvez vous assurer que le modèle que vous sélectionnez prend en charge la fonctionnalité d'exportation ici.
Utilisation
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo11n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo11n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
Pour plus de détails sur les options d'exportation prises en charge, consultez la page de documentationUltralytics sur les options de déploiement.
Déploiement des modèles exportés YOLO11 NCNN
Après avoir exporté avec succès vos modèles Ultralytics YOLO11 au format NCNN , vous pouvez maintenant les déployer. La première étape recommandée pour exécuter un modèle NCNN consiste à utiliser la méthode YOLO("./model_ncnn_model"), comme indiqué dans l'extrait de code précédent. Toutefois, pour obtenir des instructions détaillées sur le déploiement de vos modèles NCNN dans divers autres contextes, consultez les ressources suivantes :
-
Android: Ce blog explique comment utiliser les modèles NCNN pour effectuer des tâches telles que la détection d'objets via les applications Android .
-
macOS: Comprendre comment utiliser les modèles NCNN pour effectuer des tâches sous macOS.
-
Linux: Explorez cette page pour apprendre comment déployer les modèles NCNN sur des appareils à ressources limitées tels que Raspberry Pi et d'autres appareils similaires.
-
Windows x64 avec VS2017: Explorez ce blog pour apprendre à déployer des modèles NCNN sur windows x64 en utilisant Visual Studio Community 2017.
Résumé
Dans ce guide, nous avons étudié l'exportation des modèles Ultralytics YOLO11 vers le format NCNN . Cette étape de conversion est cruciale pour améliorer l'efficacité et la rapidité des modèles YOLO11 , ce qui les rend plus efficaces et plus adaptés aux environnements informatiques à ressources limitées.
Pour des instructions détaillées sur l'utilisation, veuillez vous référer à la documentation officielle NCNN .
Par ailleurs, si vous souhaitez explorer d'autres options d'intégration pour Ultralytics YOLO11 , n'hésitez pas à consulter notre page de guide d'intégration pour plus d'informations.
FAQ
Comment exporter les modèles Ultralytics YOLO11 vers le format NCNN ?
Pour exporter votre modèle Ultralytics YOLO11 vers le format NCNN , procédez comme suit :
-
Python: Utilisez la fonction
export
de la classe YOLO . -
CLI: Utilisez la fonction
yolo
avec la commandeexport
argument.
Pour plus de détails sur les options d'exportation, consultez la page Exportation dans la documentation.
Quels sont les avantages de l'exportation des modèles YOLO11 vers NCNN?
L'exportation de vos modèles Ultralytics YOLO11 vers NCNN présente 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 telles que la quantification qui améliorent la vitesse du modèle et réduisent l'utilisation de la mémoire.
- Large compatibilité: Vous pouvez déployer les modèles NCNN sur plusieurs plates-formes, notamment Android, iOS, Linux et macOS.
Pour plus de détails, voir la section Export to NCNN dans la documentation.
Pourquoi devrais-je utiliser NCNN pour mes applications mobiles d'IA ?
NCNNdé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 processeurs mobiles.
- Multiplateforme: Compatible avec les frameworks les plus répandus 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 constantes.
Pour en savoir plus, consultez l'aperçu deNCNN dans la documentation.
Quelles sont les plateformes prises en charge pour ledéploiement du modèle NCNN ?
NCNN est polyvalent et prend en charge différentes plates-formes :
- Mobile: Android, iOS.
- Systèmes embarqués et appareils IoT: Appareils tels que 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 YOLO11 NCNN sur Android?
Pour déployer vos modèles YOLO11 sur Android:
- Construire pour Android: Suivez le guide NCNN Build for Android.
- Intégrer à votre application: Utilisez le SDK NCNN Android pour intégrer le modèle exporté dans votre application pour une inférence efficace sur l'appareil.
Pour obtenir des instructions étape par étape, consultez notre guide sur le déploiement des modèles YOLO11 NCNN .
Pour des guides plus avancés et des cas d'utilisation, visitez la page de documentationUltralytics .