Meet YOLO26: next-gen vision AI.

Link to this sectionExportation NCNN de YOLO par Ultralytics#

Le déploiement de modèles de computer vision 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 contraintes peuvent gérer efficacement des tâches avancées de computer vision.

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 ?#

NCNN high-performance neural network inference framework

Le framework NCNN, développé par Tencent, est un framework de calcul d'inférence de neural network 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, dont Linux, Android, iOS et macOS.

NCNN est reconnu pour sa vitesse de traitement rapide sur les CPU 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 créer 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 le machine learning sur appareil, aidant les développeurs à déployer des modèles sur des appareils mobiles, embarqués et à la 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 le Raspberry Pi avec des ressources limitées, tout en conservant une accuracy élevée sur les tâches de computer vision.

  • Quantification : NCNN prend en charge la quantification, une technique qui réduit la precision 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 d'exploiter les modèles et workflows existants.

  • Facilité d'utilisation : NCNN fournit des outils conviviaux pour convertir les modèles entre les formats, garantissant une interopérabilité fluide dans 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 de multiples fournisseurs, y compris AMD, Intel et d'autres GPU non NVIDIA, permettant un déploiement haute performance sur une gamme plus large 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 l'appareil.

  • Systèmes embarqués et appareils IoT : Idéal pour les appareils aux ressources contraintes comme Raspberry Pi et NVIDIA Jetson. Si l'inférence standard sur un Raspberry Pi avec le Guide Ultralytics est insuffisante, NCNN peut offrir des gains de performance significatifs.

  • 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 AMD, Intel et d'autres cartes graphiques non NVIDIA. C'est particulièrement utile pour :

  • Prise en charge 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 appareil 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 bureau : Tire parti de l'accélération GPU sur les appareils où CUDA n'est pas disponible.

Pour utiliser l'accélération Vulkan, spécifie l'appareil 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")
Configuration requise pour Vulkan

Assure-toi d'avoir installé les pilotes Vulkan pour ton GPU. La plupart des pilotes GPU modernes incluent le support de Vulkan par défaut. Tu peux vérifier la disponibilité de Vulkan en utilisant des outils comme vulkaninfo sur Linux ou le Vulkan SDK sur Windows.

Link to this sectionExporter vers NCNN : Conversion de ton modèle YOLO26#

Tu peux étendre la compatibilité des modèles et la flexibilité de déploiement 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 standard de tâches Ultralytics YOLO26.

Link to this sectionInstallation#

Pour installer les packages requis, exécute :

Installation
# Install the required package for YOLO26
pip install ultralytics

Pour 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 obtenir des solutions.

Link to this sectionUtilisation#

Tous les modèles Ultralytics YOLO26 sont conçus pour prendre en charge l'exportation dès la sortie de la boîte, 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.

Exporter (Export)
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'
Prédire (Predict)
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Valider
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#

ArgumentTypePar défautDescription
formatstr'ncnn'Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement.
imgszint ou tuple640Taille 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.
halfboolFalseActive 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.
batchint1Spécifie la taille d'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.
devicestrNoneSpé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 illustré dans l'exemple d'utilisation ci-dessus. Pour des instructions de déploiement spécifiques à la plateforme, consulte les ressources suivantes :

  • Android : Construis et intègre des modèles NCNN pour la object detection 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 au format NCNN pour une efficacité et une vitesse améliorées sur les appareils aux ressources contraintes.

Pour plus de détails, réfère-toi à la documentation officielle de NCNN. Pour d'autres options d'exportation, visite notre page du 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 export de 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, voir 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, assurant une haute performance 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 des modèles NCNN sur de multiples plateformes, y compris Android, iOS, Linux et macOS.
  • Accélération GPU Vulkan : Tire parti de 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, voir la section Pourquoi exporter vers NCNN ?.

Link to this sectionPourquoi 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 CPU mobiles.
  • Multiplateforme : Compatible avec des frameworks populaires tels que TensorFlow et ONNX, facilitant la conversion et le déploiement de modèles sur différentes plateformes.
  • Support communautaire : Un support communautaire actif garantit des améliorations et mises à jour continues.

Pour plus d'informations, voir la section Fonctionnalités clés des modèles NCNN.

Link to this sectionQuelles plateformes sont prises en charge pour le model deployment 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.
  • Bureau et serveurs : Linux, Windows et macOS.

Pour une performance améliorée sur Raspberry Pi, considère l'utilisation du 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 :

  1. Construire pour Android : Suis le guide NCNN Build for Android.
  2. Intégrer avec ton application : Utilise le SDK Android de 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, voir 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 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 device

Pour les systèmes multi-GPU, spécifie l'index de l'appareil (par exemple, vulkan:1 pour le deuxième GPU). Assure-toi que les pilotes Vulkan sont installés pour ton GPU. Voir la section Accélération GPU Vulkan pour plus de détails.

Commentaires