Analyse comparative des modèles avec Ultralytics YOLO
Visualisation de l'indice de référence
Actualiser le navigateur
Il se peut que vous deviez rafraîchir la page pour afficher correctement les graphiques en raison de problèmes potentiels liés aux cookies.
Introduction
Une fois votre modèle formé et validé, la prochaine étape logique consiste à évaluer ses performances dans divers scénarios réels. Le mode Benchmark de Ultralytics YOLO11 répond à cet objectif en fournissant un cadre robuste pour évaluer la vitesse et la précision de votre modèle à travers une gamme de formats d'exportation.
Regarder : Benchmark Ultralytics YOLO11 Models | Comment comparer les performances d'un modèle sur différents matériels ?
Pourquoi l'analyse comparative est-elle cruciale ?
- Des décisions éclairées : Découvrez les compromis entre vitesse et précision.
- Allocation des ressources : Comprendre comment les différents formats d'exportation fonctionnent sur différents matériels.
- Optimisation : Découvrez quel format d'exportation offre les meilleures performances pour votre cas d'utilisation spécifique.
- Rentabilité : Utiliser plus efficacement les ressources matérielles sur la base des résultats de l'analyse comparative.
Paramètres clés en mode d'évaluation comparative
- 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 nécessaire 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.
Conseil
- Exportation vers ONNX ou OpenVINO pour une accélération jusqu'à 3x CPU .
- Exportation vers TensorRT pour accélérer jusqu'à 5 fois GPU .
Exemples d'utilisation
Exécuter 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 critères de référence à 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 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 le jeu de données pour l'analyse comparative, comprenant généralement les chemins d'accès 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 en FP16 (demi-précision), réduisant l'utilisation de la mémoire et augmentant éventuellement la vitesse sur du matériel compatible. Utiliser 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'Ă©valuation comparative, par exemple "cpu" ou "cuda:0" . |
verbose |
False |
Contrôle le niveau de détail de la sortie de la journalisation. Une valeur booléenne ; définir 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 |
yolov8n_imx_model/ |
âś… | imgsz , int8 |
Voir l'intégralité export
détails dans le Exportation page.
FAQ
Comment puis-je évaluer les performances de mon modèle YOLO11 à l'aide de Ultralytics?
Ultralytics YOLO11 propose un mode Benchmark pour évaluer les performances de votre 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 exécuter des analyses comparatives, vous pouvez 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, consultez 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 vous permet d'optimiser les performances en fonction de votre 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 vos modèles, ce qui les rend plus efficaces pour diverses applications dans le monde réel. Consultez la page Exportation pour plus de détails.
Pourquoi l'analyse comparative est-elle cruciale dans l'évaluation des modèles YOLO11 ?
L'analyse comparative de vos modèles YOLO11 est essentielle pour plusieurs raisons :
- Des décisions éclairées : Comprendre les compromis entre vitesse et précision.
- Allocation des ressources : Évaluer les performances en fonction des différentes options matérielles.
- Optimisation : Déterminer quel format d'exportation offre les meilleures performances pour des cas d'utilisation spécifiques.
- Rentabilité : Optimisation de l'utilisation du matériel sur la base des résultats de l'analyse comparative.
Des mesures clés telles que mAP50-95, la précision du Top-5 et le temps d'inférence aident à faire ces évaluations. Pour plus d'informations, reportez-vous à la section Mesures clés.
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 efficacité.
- OpenVINO: Optimisé pour le matériel Intel .
- CoreML & TensorFlow: Utile pour iOS et les applications générales de ML.
Pour obtenir une liste complète des formats pris en charge et de leurs avantages respectifs, consultez la section Formats d'exportation pris en charge.
Quels arguments puis-je utiliser pour affiner mes repères sur YOLO11 ?
Lors de l'exécution de tests, 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 la forme d'un entier unique, soit sous la forme d'un tuple.
- moitié : Activer l'inférence FP16 pour de meilleures performances.
- int8 : Active la quantification INT8 pour les périphériques de bord.
- device : Spécifiez le dispositif de calcul (par exemple, "cpu", "cuda:0 ").
- verbose : Contrôle le niveau de détail de la journalisation.
Pour une liste complète des arguments, voir la section Arguments.