Link to this sectionExportation Ultralytics YOLO vers NCNN#
Le déploiement de modèles de vision par ordinateur sur des appareils à puissance de calcul limitée, comme les systèmes mobiles ou embarqués, nécessite une sélection minutieuse du format. L'utilisation d'un format optimisé garantit que même les appareils aux ressources restreintes peuvent gérer efficacement des tâches avancées de vision par ordinateur.
L'exportation au format NCNN te permet d'optimiser tes modèles Ultralytics YOLO26 pour des applications légères basées sur des appareils. Ce guide explique comment convertir tes modèles au format NCNN pour améliorer les performances sur les appareils mobiles et embarqués.
Link to this sectionPourquoi 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, incluant les téléphones portables, les appareils embarqués et les appareils IoT. NCNN est compatible avec une large gamme de plateformes, dont Linux, Android, iOS et macOS.
NCNN est reconnu pour sa vitesse de traitement rapide sur les processeurs mobiles et permet un déploiement rapide de modèles de deep learning sur des plateformes mobiles, ce qui en fait un excellent choix pour construire des applications basées sur l'IA.
Link to this sectionFonctionnalités clés des modèles NCNN#
Les modèles NCNN offrent plusieurs fonctionnalités clés qui permettent l'apprentissage automatique sur appareil, aidant les développeurs à déployer des modèles sur des appareils mobiles, embarqués et en périphérie (edge) :
-
Efficace et haute performance : Les modèles NCNN sont légers et optimisés pour les appareils mobiles et embarqués comme Raspberry Pi avec des ressources limitées, tout en conservant 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 des frameworks de deep learning populaires, notamment TensorFlow, Caffe et ONNX, permettant aux développeurs de tirer parti de modèles et de workflows existants.
-
Facilité d'utilisation : NCNN fournit des outils conviviaux pour convertir les modèles entre les formats, garantissant une interopérabilité fluide à travers différents environnements de développement.
-
Accélération GPU Vulkan : NCNN prend en charge Vulkan pour une inférence accélérée par GPU auprès de multiples fournisseurs, dont AMD, Intel et d'autres GPU non NVIDIA, permettant un déploiement haute performance sur une plus large gamme de matériel.
Link to this sectionOptions 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 appareil.
-
Systèmes embarqués et appareils IoT : Idéal pour les appareils aux ressources limitées comme Raspberry Pi et NVIDIA Jetson. Si l'inférence standard sur un Raspberry Pi avec le Guide Ultralytics est insuffisante, NCNN peut apporter des améliorations de performance significatives.
-
Déploiement sur bureau et serveur : Prend en charge le déploiement sur Linux, Windows et macOS pour les workflows de développement, d'entraînement et d'évaluation.
Link to this sectionAccé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 d'autres cartes non NVIDIA. C'est particulièrement utile pour :
- Support GPU multi-fournisseur : Contrairement à CUDA, qui est limité aux GPU NVIDIA, Vulkan fonctionne avec plusieurs fournisseurs de GPU.
- Systèmes multi-GPU : Sélectionne un périphérique Vulkan spécifique dans les systèmes équipés de plusieurs GPU en utilisant
device="vulkan:0",device="vulkan:1", etc. - Déploiements en périphérie (edge) et sur bureau : Exploite l'accélération GPU sur les appareils où CUDA n'est pas disponible.
Pour utiliser l'accélération Vulkan, spécifie le périphérique Vulkan lors de l'exécution de l'inférence :
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")Assure-toi d'avoir les pilotes Vulkan installés pour ton GPU. La plupart des pilotes de GPU modernes incluent le support Vulkan par défaut. Tu peux vérifier la disponibilité de Vulkan en utilisant des outils comme vulkaninfo sur Linux ou le SDK Vulkan sur Windows.
Link to this sectionExporter vers NCNN : Conversion de ton modèle YOLO26#
Tu peux étendre la compatibilité et la flexibilité de déploiement de tes modèles en convertissant les modèles YOLO26 au format NCNN.
Link to this sectionTâches prises en charge#
L'exportation NCNN prend en charge l'ensemble des tâches standard d'Ultralytics YOLO26.
| Tâche | Pris en charge |
|---|---|
| Détection d'objets | ✅ |
| Segmentation d'instance | ✅ |
| Segmentation sémantique | ✅ |
| Estimation de pose | ✅ |
| Détection OBB | ✅ |
| Classification | ✅ |
Link to this sectionInstallation#
Pour installer les paquets requis, exécute :
# Install the required package for YOLO26
pip install ultralyticsPour des instructions détaillées et les meilleures pratiques, consulte le guide d'installation Ultralytics. Si tu rencontres des difficultés, consulte notre guide des problèmes courants pour trouver des solutions.
Link to this sectionUtilisation#
Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l'exportation dès leur installation, ce qui facilite leur intégration dans ton workflow de déploiement préféré. Tu peux consulter la liste complète des formats d'exportation pris en charge et des options de configuration pour choisir la meilleure configuration pour ton application.
Le format NCNN prend en charge les modes Export, Predict et Validate. Exporte ton modèle, puis charge le modèle exporté pour exécuter l'inférence ou valider sa précision.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo26n_ncnn_model'from ultralytics import YOLO
# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported NCNN model
model = YOLO("./yolo26n_ncnn_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionArguments d'exportation#
| Argument | Type | 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 des 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 de l'inférence par lot du modèle exporté ou le nombre maximal d'images que le modèle exporté traitera simultanément en mode predict. |
device | str | None | Spécifie l'appareil 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, visite la page de documentation Ultralytics sur l'exportation.
Link to this sectionDéploiement des modèles YOLO26 NCNN exportés#
Après avoir exporté tes modèles Ultralytics YOLO26 au format NCNN, tu peux les déployer en utilisant la méthode YOLO("yolo26n_ncnn_model/") comme indiqué dans l'exemple d'utilisation ci-dessus. Pour des instructions de déploiement spécifiques à une plateforme, consulte les ressources suivantes :
-
Android : Compile et intègre des modèles NCNN pour la détection d'objets dans des applications Android.
-
macOS : Déploie des modèles NCNN sur des systèmes macOS.
-
Linux : Déploie des modèles NCNN sur des appareils Linux, y compris Raspberry Pi et des systèmes embarqués similaires.
-
Windows x64 : Déploie des modèles NCNN sur Windows x64 en utilisant Visual Studio.
Link to this sectionRésumé#
Ce guide a couvert l'exportation des modèles Ultralytics YOLO26 vers le format NCNN pour améliorer l'efficacité et la vitesse sur les appareils aux ressources limitées.
Pour des détails supplémentaires, réfère-toi à la documentation officielle NCNN. Pour d'autres options d'exportation, visite notre page de guide d'intégration.
Link to this sectionFAQ#
Link to this sectionComment exporter les modèles Ultralytics YOLO26 au format NCNN ?#
Pour exporter ton modèle Ultralytics YOLO26 au format NCNN :
-
Python : Utilise la méthode
exportde la classe YOLO.from ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo26n_ncnn_model' -
CLI : Utilise la commande
yolo export.yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
Pour des options d'exportation détaillées, consulte la documentation Export.
Link to this sectionQuels sont les avantages de l'exportation des modèles YOLO26 vers NCNN ?#
L'exportation de tes modèles Ultralytics YOLO26 vers NCNN offre plusieurs avantages :
- Efficacité : Les modèles NCNN sont optimisés pour les appareils mobiles et embarqués, garantissant des performances élevées même avec des ressources de calcul 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.
- Compatibilité étendue : Tu peux déployer des modèles NCNN sur de multiples plateformes, incluant Android, iOS, Linux et macOS.
- Accélération GPU Vulkan : Exploite l'accélération GPU sur AMD, Intel et d'autres GPU non NVIDIA via Vulkan pour une inférence plus rapide.
Pour plus de détails, consulte la section Pourquoi exporter vers NCNN ?.
Link to this sectionPourquoi devrais-je utiliser NCNN pour mes applications IA mobiles ?#
NCNN, développé par Tencent, est spécifiquement optimisé pour les plateformes mobiles. Les raisons principales d'utiliser NCNN incluent :
- Haute performance : Conçu pour un traitement efficace et rapide sur les processeurs mobiles.
- Multi-plateforme : Compatible avec des frameworks populaires tels que TensorFlow et ONNX, facilitant la conversion et le déploiement de modèles à travers différentes plateformes.
- Support de la communauté : Un support communautaire actif garantit des améliorations et des mises à jour constantes.
Pour plus d'informations, consulte la section Fonctionnalités clés des modèles NCNN.
Link to this sectionQuelles 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 comme Raspberry Pi et NVIDIA Jetson.
- Ordinateur de bureau et serveurs : Linux, Windows et macOS.
Pour une performance améliorée sur Raspberry Pi, envisage d'utiliser le format NCNN comme détaillé dans notre Guide Raspberry Pi.
Link to this sectionComment puis-je déployer des modèles Ultralytics YOLO26 NCNN sur Android ?#
Pour déployer tes modèles YOLO26 sur Android :
- Compilation pour Android : Suis le guide NCNN Compilation pour Android.
- Intégration avec ton application : Utilise le SDK Android NCNN pour intégrer le modèle exporté dans ton application pour une inférence efficace sur l'appareil.
Pour des instructions détaillées, consulte Déploiement des modèles YOLO26 NCNN exportés.
Pour des guides plus avancés et des cas d'utilisation, visite le guide de déploiement Ultralytics.
Link to this sectionComment puis-je utiliser l'accélération GPU Vulkan avec les modèles NCNN ?#
NCNN prend en charge Vulkan pour l'accélération GPU sur AMD, Intel et d'autres GPU 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 devicePour les systèmes multi-GPU, spécifie l'index du périphérique (par exemple, vulkan:1 pour le second GPU). Assure-toi que les pilotes Vulkan sont installés pour ton GPU. Consulte la section Accélération GPU Vulkan pour plus de détails.