Analyse comparative des modèles avec Ultralytics YOLO
Visualisation de l'indice de référence
Actualiser le navigateur
Il se peut que tu doives rafraîchir la page pour afficher les graphiques correctement en raison de problèmes potentiels liés aux cookies.
Introduction
Une fois ton modèle formé et validé, la prochaine étape logique consiste à évaluer ses performances dans divers scénarios du monde réel. Le mode Benchmark de Ultralytics YOLO11 répond à cet objectif en fournissant un cadre solide pour évaluer la vitesse et la précision de ton modèle à travers une gamme de formats d'exportation.
Regarde : Ultralytics Tutoriel sur les modes : Benchmark
Pourquoi l'analyse comparative est-elle cruciale ?
- Des décisions éclairées : Apprends à connaître les compromis entre la vitesse et la précision.
- Allocation des ressources : Comprendre comment les différents formats d'exportation se comportent sur différents matériels.
- Optimisation : Apprends quel format d'exportation offre les meilleures performances pour ton cas d'utilisation spécifique.
- Rentabilité : Utilise plus efficacement les ressources matérielles en fonction des résultats des analyses comparatives.
Métriques clés en mode benchmark
- mAP50-95 : Pour la détection d'objets, la segmentation et l'estimation de la pose.
- accuracy_top5 : Pour la classification des images.
- Temps d'inférence : temps pris pour chaque image en millisecondes.
Formats d'exportation pris en charge
- ONNX: Pour une performance optimale CPU
- TensorRT: Pour une efficacité maximale GPU
- OpenVINO: Pour l'optimisation du matériel Intel
- CoreML, TensorFlow SavedModel , et plus encore : Pour divers besoins de déploiement.
Astuce
- Exporte vers ONNX ou OpenVINO pour accélérer jusqu'à 3 fois CPU .
- Exporte vers TensorRT pour accélérer jusqu'à 5 fois GPU .
Exemples d'utilisation
Exécute les tests de YOLO11n sur tous les formats d'exportation pris en charge, y compris ONNX, TensorRT , etc. Voir la section Arguments ci-dessous pour une liste complète des arguments d'exportation.
Exemple
Arguments
Des arguments tels que model
, data
, imgsz
, half
, device
et verbose
offrent aux utilisateurs la possibilité d'adapter les repères à leurs besoins spécifiques et de comparer facilement les performances des différents formats d'exportation.
Clé | Valeur par défaut | Description |
---|---|---|
model | None | Spécifie le chemin d'accès au fichier du modèle. Accepte à la fois .pt et .yaml formats, par exemple, "yolo11n.pt" pour les modèles pré-entraînés ou les fichiers de configuration. |
data | None | Chemin d'accès à un fichier YAML définissant l'ensemble de données pour l'analyse comparative, comprenant généralement les chemins et les paramètres pour les éléments suivants. données de validation. Exemple : "coco8.yaml" . |
imgsz | 640 | La taille de l'image d'entrée pour le modèle. Il peut s'agir d'un seul entier pour les images carrées ou d'un tuple (width, height) pour non carré, par exemple, (640, 480) . |
half | False | Permet l'inférence FP16 (demi-précision), ce qui réduit l'utilisation de la mémoire et augmente éventuellement la vitesse sur le matériel compatible. Utilise half=True pour l'activer. |
int8 | False | Active la quantification INT8 pour optimiser davantage les performances sur les appareils pris en charge, ce qui est particulièrement utile pour les appareils périphériques. Définir int8=True à utiliser. |
device | None | Définit le(s) dispositif(s) de calcul pour l'analyse comparative, tel(s) que "cpu" ou "cuda:0" . |
verbose | False | Contrôle le niveau de détail de la sortie des journaux. Une valeur booléenne ; définie verbose=True pour obtenir des journaux détaillés ou une valeur flottante pour les erreurs de seuil. |
Formats d'exportation
Les tests tenteront de s'exécuter automatiquement sur tous les formats d'exportation possibles ci-dessous.
Format | format Argument | Modèle | Métadonnées | Arguments |
---|---|---|---|---|
PyTorch | - | yolo11n.pt | ✅ | - |
TorchScript | torchscript | yolo11n.torchscript | ✅ | imgsz , optimize , batch |
ONNX | onnx | yolo11n.onnx | ✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino | yolo11n_openvino_model/ | ✅ | imgsz , half , int8 , batch |
TensorRT | engine | yolo11n.engine | ✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml | yolo11n.mlpackage | ✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model | yolo11n_saved_model/ | ✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb | yolo11n.pb | ❌ | imgsz , batch |
TF Lite | tflite | yolo11n.tflite | ✅ | imgsz , half , int8 , batch |
TF Bord TPU | edgetpu | yolo11n_edgetpu.tflite | ✅ | imgsz |
TF.js | tfjs | yolo11n_web_model/ | ✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle | yolo11n_paddle_model/ | ✅ | imgsz , batch |
MNN | mnn | yolo11n.mnn | ✅ | imgsz , batch , int8 , half |
NCNN | ncnn | yolo11n_ncnn_model/ | ✅ | imgsz , half , batch |
IMX500 | imx | yolo11n_imx_model/ | ✅ | imgsz , int8 |
Voir l'intégralité export
détails dans le Exporter page.
FAQ
Comment évaluer les performances de mon modèle YOLO11 à l'aide de Ultralytics?
Ultralytics YOLO11 propose un mode Benchmark pour évaluer les performances de ton modèle dans différents formats d'exportation. Ce mode fournit des informations sur des paramètres clés tels que la précision moyenne (mAP50-95), la précision et le temps d'inférence en millisecondes. Pour effectuer des analyses comparatives, tu peux utiliser les commandes Python ou CLI . Par exemple, pour effectuer une analyse comparative sur un site GPU:
Exemple
Pour plus de détails sur les arguments du benchmark, visite la section Arguments.
Quels sont les avantages de l'exportation des modèles YOLO11 vers différents formats ?
L'exportation des modèles YOLO11 vers différents formats tels que ONNX, TensorRT, et OpenVINO te permet d'optimiser les performances en fonction de ton environnement de déploiement. Par exemple :
- ONNX: Permet d'accélérer jusqu'à 3 fois CPU .
- TensorRT: Offre jusqu'à 5 fois la vitesse de GPU .
- OpenVINO: Spécifiquement optimisé pour le matériel Intel . Ces formats améliorent à la fois la vitesse et la précision de tes modèles, les rendant plus efficaces pour diverses applications réelles. Visite la page d'exportation pour plus de détails.
Pourquoi l'analyse comparative est-elle cruciale pour évaluer les modèles YOLO11 ?
L'analyse comparative de tes modèles YOLO11 est essentielle pour plusieurs raisons :
- Décisions éclairées : Comprendre les compromis entre la vitesse et la précision.
- Allocation des ressources : Évalue les performances des différentes options matérielles.
- Optimisation : Détermine le format d'exportation qui offre les meilleures performances pour des cas d'utilisation spécifiques.
- Rentabilité : Optimise l'utilisation du matériel en fonction des résultats de l'analyse comparative. Des mesures clés telles que mAP50-95, la précision Top-5 et le temps d'inférence aident à faire ces évaluations. Reporte-toi à la section Mesures clés pour plus d'informations.
Quels sont les formats d'exportation pris en charge par YOLO11, et quels sont leurs avantages ?
YOLO11 prend en charge une variété de formats d'exportation, chacun adapté à un matériel et à des cas d'utilisation spécifiques :
- ONNX: Meilleur pour CPU performance.
- TensorRT: Idéal pour GPU l'efficacité.
- OpenVINO: Optimisé pour le matériel Intel .
- CoreML & TensorFlow: Utile pour iOS et les applications ML générales. Pour obtenir une liste complète des formats pris en charge et de leurs avantages respectifs, consulte la section Formats d'exportation pris en charge.
Quels arguments puis-je utiliser pour affiner mes repères YOLO11 ?
Lors de l'exécution de benchmarks, plusieurs arguments peuvent être personnalisés pour répondre à des besoins spécifiques :
- modèle : Chemin d'accès au fichier du modèle (par exemple, "yolo11n.pt").
- data : Chemin d'accès à un fichier YAML définissant l'ensemble de données (par exemple, "coco8.yaml").
- imgsz : La taille de l'image d'entrée, soit sous forme d'un seul entier, soit sous forme d'un tuple.
- moitié : Active l'inférence FP16 pour de meilleures performances.
- int8 : Active la quantification INT8 pour les périphériques de bord.
- device : Spécifie le dispositif de calcul (par exemple, "cpu", "cuda:0 ").
- verbose : Contrôle le niveau de détail de la journalisation. Pour obtenir la liste complète des arguments, reporte-toi à la section Arguments.