Skip to content

Analyse comparative des modèles avec Ultralytics YOLO

Ultralytics YOLO écosystème et intégrations

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

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

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

Arguments

Des arguments tels que model, data, imgsz, half, deviceet 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éfautDescription
modelNoneSpé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.
dataNoneChemin 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".
imgsz640La 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).
halfFalsePermet 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.
int8FalseActive 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.
deviceNoneDéfinit le(s) dispositif(s) de calcul pour l'analyse comparative, tel(s) que "cpu" ou "cuda:0".
verboseFalseContrô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.

Formatformat ArgumentModèleMétadonnéesArguments
PyTorch-yolo11n.pt-
TorchScripttorchscriptyolo11n.torchscriptimgsz, optimize, batch
ONNXonnxyolo11n.onnximgsz, half, dynamic, simplify, opset, batch
OpenVINOopenvinoyolo11n_openvino_model/imgsz, half, int8, batch
TensorRTengineyolo11n.engineimgsz, half, dynamic, simplify, workspace, int8, batch
CoreMLcoremlyolo11n.mlpackageimgsz, half, int8, nms, batch
TF SavedModelsaved_modelyolo11n_saved_model/imgsz, keras, int8, batch
TF GraphDefpbyolo11n.pbimgsz, batch
TF Litetfliteyolo11n.tfliteimgsz, half, int8, batch
TF Bord TPUedgetpuyolo11n_edgetpu.tfliteimgsz
TF.jstfjsyolo11n_web_model/imgsz, half, int8, batch
PaddlePaddlepaddleyolo11n_paddle_model/imgsz, batch
MNNmnnyolo11n.mnnimgsz, batch, int8, half
NCNNncnnyolo11n_ncnn_model/imgsz, half, batch
IMX500imxyolo11n_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

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

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.
📅 C réé il y a 1 an ✏️ Mis à jour il y a 1 jour

Commentaires