Exportation Ultralytics YOLO NCNN
Le déploiement de modèles de vision par ordinateur sur des appareils à puissance de calcul limitée, tels que les systèmes mobiles ou embarqués, nécessite une sélection rigoureuse du format. L'utilisation d'un format optimisé garantit que même les appareils aux ressources limitées peuvent gérer efficacement des tâches avancées de vision par ordinateur.
L'exportation au format NCNN vous permet d'optimiser vos modèles Ultralytics YOLO26 pour des applications légères sur appareils. Ce guide explique comment convertir vos modèles au format NCNN afin d'améliorer leurs performances sur les appareils mobiles et embarqués.
Pourquoi exporter vers NCNN ?

Le framework NCNN, développé par Tencent, est un framework de calcul d'inférence de réseau neuronal haute performance optimisé spécifiquement pour les plateformes mobiles, y compris les téléphones mobiles, les appareils embarqués et les appareils IoT. NCNN est compatible avec une large gamme de plateformes, y compris Linux, Android, iOS et macOS.
NCNN est reconnu pour sa vitesse de traitement rapide sur les CPU mobiles et permet un déploiement rapide des modèles de deep learning sur les plateformes mobiles, ce qui en fait un excellent choix pour la création d'applications basées sur l'IA.
Principales caractéristiques des modèles NCNN
Les modèles NCNN offrent plusieurs fonctionnalités clés qui permettent le machine learning sur appareil, aidant les développeurs à déployer des modèles sur des appareils mobiles, embarqués et périphériques :
Efficaces et performants : Les modèles NCNN sont légers et optimisés pour les appareils mobiles et embarqués comme le Raspberry Pi avec des ressources limitées, tout en maintenant une précision élevée sur les tâches de vision par ordinateur.
Quantification : NCNN prend en charge la quantification, une technique qui réduit la précision des poids et des activations du modèle pour améliorer les performances et réduire l'empreinte mémoire.
Compatibilité : Les modèles NCNN sont compatibles avec les frameworks de deep learning populaires, notamment TensorFlow, Caffe et ONNX, permettant aux développeurs de tirer parti des modèles et des flux de travail existants.
Facilité d'utilisation : NCNN fournit des outils conviviaux pour convertir les modèles entre les formats, assurant une interopérabilité fluide entre les différents environnements de développement.
Accélération GPU Vulkan : NCNN prend en charge Vulkan pour l'inférence accélérée par GPU chez plusieurs fournisseurs, y compris AMD, Intel et d'autres GPU non-NVIDIA, permettant un déploiement haute performance sur une plus large gamme de matériel.
Options de déploiement avec NCNN
Les modèles NCNN sont compatibles avec une variété de plateformes de déploiement :
Déploiement mobile : 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 : Idéal pour les appareils à ressources limitées comme le Raspberry Pi et le NVIDIA Jetson. Si l'inférence standard sur un Raspberry Pi avec le Guide Ultralytics est insuffisante, NCNN peut apporter des améliorations significatives en termes de performances.
Déploiement sur postes de travail et serveurs : Prend en charge le déploiement sur Linux, Windows et macOS pour les flux de travail de développement, de formation et d'évaluation.
Accélération GPU Vulkan
NCNN prend en charge l'accélération GPU via Vulkan, permettant une inférence haute performance sur une large gamme de GPU, y compris les cartes graphiques AMD, Intel et autres non-NVIDIA. Ceci est particulièrement utile pour :
- Prise en charge des GPU multi-fournisseurs : Contrairement à CUDA, qui est limité aux GPU NVIDIA, Vulkan fonctionne avec plusieurs fournisseurs de GPU.
- Systèmes multi-GPU: Sélectionnez un périphérique Vulkan spécifique dans les systèmes dotés de plusieurs GPU en utilisant
device="vulkan:0",device="vulkan:1", etc. - Déploiements Edge et sur postes de travail : Tirez parti de l'accélération GPU sur les appareils où CUDA n'est pas disponible.
Pour utiliser l'accélération Vulkan, spécifiez le périphérique Vulkan lors de l'exécution de l'inférence :
Inférence Vulkan
from ultralytics import YOLO
# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")
# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")
# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")
# Run inference with Vulkan GPU acceleration
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg' device=vulkan:0
Exigences Vulkan
Assurez-vous d'avoir les pilotes Vulkan installés pour votre GPU. La plupart des pilotes GPU modernes incluent le support Vulkan par défaut. Vous pouvez vérifier la disponibilité de Vulkan à l'aide d'outils tels que vulkaninfo sur Linux ou le SDK Vulkan sur Windows.
Exportation vers NCNN : Conversion de votre modèle YOLO26
Vous pouvez étendre la compatibilité des modèles et la flexibilité de déploiement en convertissant les modèles YOLO26 au format NCNN.
Installation
Pour installer les packages requis, exécutez :
Installation
# Install the required package for YOLO26
pip install ultralytics
Pour des instructions détaillées et les meilleures pratiques, consultez le guide d'installation d'Ultralytics. Si vous rencontrez des difficultés, consultez notre guide des problèmes courants pour trouver des solutions.
Utilisation
Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l'exportation nativement, facilitant ainsi leur intégration dans votre flux de travail de déploiement préféré. Vous pouvez consulter la liste complète des formats d'exportation pris en charge et des options de configuration pour choisir la meilleure configuration pour votre application.
Utilisation
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo26n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to NCNN format
yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
# Run inference with the exported model
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'
Arguments d'exportation
| Argument | Type | Par défaut | Description |
|---|---|---|---|
format | str | 'ncnn' | Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement. |
imgsz | int ou tuple | 640 | Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour les images carrées ou un tuple (height, width) pour des dimensions spécifiques. |
half | bool | False | Active la quantification FP16 (demi-précision), réduisant la taille du modèle et accélérant potentiellement l'inférence sur le matériel pris en charge. |
batch | int | 1 | Spécifie la taille du lot d'inférence du modèle d'exportation ou le nombre maximal d'images que le modèle exporté traitera simultanément en predict mode. |
device | str | None | Spécifie le dispositif pour l'exportation : GPU (device=0), CPU (device=cpu), MPS pour Apple Silicon (device=mps). |
Pour plus de détails sur le processus d'exportation, consultez la page de la documentation Ultralytics sur l'exportation.
Déploiement des modèles NCNN YOLO26 exportés
Après avoir exporté vos modèles Ultralytics YOLO26 au format NCNN, vous pouvez les déployer en utilisant le YOLO("yolo26n_ncnn_model/") méthode comme indiqué dans l'exemple d'utilisation ci-dessus. Pour des instructions de déploiement spécifiques à la plateforme, consultez les ressources suivantes :
Android : Créez et intégrez des modèles NCNN pour la détection d'objets dans les applications Android.
macOS : Déployez des modèles NCNN sur les systèmes macOS.
Linux : Déployez des modèles NCNN sur les appareils Linux, y compris le Raspberry Pi et les systèmes embarqués similaires.
Windows x64 : Déployez des modèles NCNN sur Windows x64 à l'aide de Visual Studio.
Résumé
Ce guide a abordé l'exportation des modèles Ultralytics YOLO26 au format NCNN pour une efficacité et une vitesse améliorées sur les appareils à ressources limitées.
Pour plus de détails, consultez la documentation officielle de NCNN. Pour d'autres options d'exportation, visitez notre page du guide d'intégration.
FAQ
Comment exporter les modèles Ultralytics YOLO26 au format NCNN ?
Pour exporter votre modèle Ultralytics YOLO26 au format NCNN :
Python: Utilisez le
exportméthode de la classe YOLO.from ultralytics import YOLO # Load the YOLO26 model model = YOLO("yolo26n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo26n_ncnn_model'CLI: Utilisez le
yolo exportcommande.yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
Pour des options d'exportation détaillées, consultez la documentation Export.
Quels sont les avantages d'exporter les modèles YOLO26 au format NCNN ?
L'exportation de vos modèles Ultralytics YOLO26 vers NCNN offre plusieurs avantages :
- Efficacité : Les modèles NCNN sont optimisés pour les appareils mobiles et embarqués, assurant une haute performance même avec des ressources de calcul 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 des modèles NCNN sur plusieurs plateformes, notamment Android, iOS, Linux et macOS.
- Accélération GPU Vulkan : Exploitez l'accélération GPU sur les GPU AMD, Intel et autres non-NVIDIA via Vulkan pour une inférence plus rapide.
Pour plus de détails, consultez la section Pourquoi exporter vers NCNN ?.
Pourquoi devrais-je utiliser NCNN pour mes applications d'IA mobile ?
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 CPU mobiles.
- Multiplateforme : Compatible avec les frameworks populaires tels que TensorFlow et ONNX, ce qui facilite la conversion et le déploiement de modèles sur différentes plateformes.
- Support communautaire : Un support communautaire actif assure des améliorations et des mises à jour continues.
Pour plus d'informations, consultez la section Fonctionnalités clés des modèles NCNN.
Quelles plateformes sont prises en charge pour le déploiement de modèles NCNN ?
NCNN est polyvalent et prend en charge diverses plateformes :
- 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.
Pour des performances améliorées sur Raspberry Pi, envisagez d'utiliser le format NCNN comme détaillé dans notre Guide Raspberry Pi.
Comment déployer les modèles Ultralytics YOLO26 NCNN sur Android ?
Pour déployer vos modèles YOLO26 sur Android :
- Construire pour Android : Suivez le guide NCNN Build for Android.
- Intégrez-le à votre application : Utilisez le NCNN Android SDK pour intégrer le modèle exporté dans votre application pour une inférence efficace sur l’appareil.
Pour des instructions détaillées, consultez Déploiement des modèles YOLO26 NCNN exportés.
Pour des guides et cas d'utilisation plus avancés, consultez le guide de déploiement Ultralytics.
Comment utiliser l'accélération GPU Vulkan avec les modèles NCNN ?
NCNN prend en charge Vulkan pour l'accélération GPU sur les GPU AMD, Intel et autres non-NVIDIA. Pour utiliser Vulkan :
from ultralytics import YOLO
# Load NCNN model and run with Vulkan GPU
model = YOLO("yolo26n_ncnn_model")
results = model("image.jpg", device="vulkan:0") # Use first Vulkan device
Pour les systèmes multi-GPU, spécifiez l'index du périphérique (par exemple, vulkan:1 pour le deuxième GPU). Assurez-vous que les pilotes Vulkan sont installés pour votre GPU. Voir le Accélération GPU Vulkan section pour plus de détails.