Passer au contenu

Évaluation des modèles avec Ultralytics YOLO

Écosystème et intégrations Ultralytics YOLO

Visualisation des benchmarks

Actualiser le navigateur

Vous devrez peut-être actualiser la page pour afficher correctement les graphiques en raison de problèmes potentiels de cookies.

Introduction

Une fois que votre modèle est entraîné et validé, l'étape logique suivante consiste à évaluer ses performances dans divers scénarios réels. Le mode Benchmark dans Ultralytics YOLO11 sert cet objectif en fournissant un cadre robuste pour évaluer la vitesse et la précision de votre modèle dans une gamme de formats d'exportation.



Regarder : Benchmark des modèles Ultralytics YOLO11 | Comment comparer les performances des modèles sur différents matériels ?

Pourquoi l'évaluation comparative est-elle cruciale ?

  • Décisions éclairées : Obtenez des informations sur les compromis entre la vitesse et la précision.
  • Allocation des ressources : Comprenez comment 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é : Utilisez plus efficacement les ressources matérielles en fonction des résultats des benchmarks.

Métriques clés en mode Benchmark

Formats d'exportation pris en charge

  • ONNX : Pour des performances CPU optimales
  • TensorRT : Pour une efficacité GPU maximale
  • OpenVINO : Pour l'optimisation du matériel Intel
  • CoreML, TensorFlow SavedModel, et bien plus : Pour répondre à divers besoins de déploiement.

Astuce

  • Exportez vers ONNX ou OpenVINO pour un gain de vitesse CPU jusqu'à 3x.
  • Exportez vers TensorRT pour un gain de vitesse GPU jusqu'à 5x.

Exemples d'utilisation

Exécutez les benchmarks YOLO11n sur tous les formats d'exportation pris en charge, y compris ONNX, TensorRT, etc. Consultez 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)

# Benchmark specific export format
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0

# Benchmark specific export format
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 format=onnx

Arguments

Les arguments tels que model, data, imgsz, half, device, verbose et format offrent aux utilisateurs la flexibilité d'affiner les benchmarks en fonction de 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 les deux formats .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 l'ensemble de données pour le benchmarking, incluant généralement les chemins d'accès et les paramètres pour validation. Exemple : "coco8.yaml".
imgsz 640 La taille de l'image d'entrée pour le modèle. Peut être un entier unique pour les images carrées ou un tuple (width, height) pour non carré, par exemple, (640, 480).
half False Active l'inférence FP16 (demi-précision), réduisant l'utilisation de la mémoire et augmentant potentiellement la vitesse sur le matériel compatible. Utilisez half=True pour activer.
int8 False Active la quantification INT8 pour des performances encore optimisées sur les appareils pris en charge, particulièrement utile pour les appareils périphériques. Définissez int8=True pour utiliser.
device None Définit le(s) périphérique(s) de calcul pour le benchmarking, tels que "cpu" ou "cuda:0".
verbose False Contrôle le niveau de détail dans la sortie de journalisation. Définir verbose=True pour des journaux détaillés.
format '' Évaluer le modèle sur un seul format d'exportation, par exemple : format=onnx

Formats d'exportation

Les évaluations comparatives tenteront de s'exécuter automatiquement sur tous les formats d'exportation possibles énumérés ci-dessous. Vous pouvez également exécuter des évaluations comparatives pour un format spécifique en utilisant le format argument, qui accepte l'un des formats mentionnés ci-dessous.

Format format Argument Modèle Métadonnées Arguments
PyTorch - yolo11n.pt -
TorchScript torchscript yolo11n.torchscript imgsz, half, dynamic, optimize, nms, batch, device
ONNX onnx yolo11n.onnx imgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINO openvino yolo11n_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRT engine yolo11n.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreML coreml yolo11n.mlpackage imgsz, half, int8, nms, batch, device
TF SavedModel saved_model yolo11n_saved_model/ imgsz, keras, int8, nms, batch, device
TF GraphDef pb yolo11n.pb imgsz, batch, device
TF Lite tflite yolo11n.tflite imgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPU edgetpu yolo11n_edgetpu.tflite imgsz, device
TF.js tfjs yolo11n_web_model/ imgsz, half, int8, nms, batch, device
PaddlePaddle paddle yolo11n_paddle_model/ imgsz, batch, device
MNN mnn yolo11n.mnn imgsz, batch, int8, half, device
NCNN ncnn yolo11n_ncnn_model/ imgsz, half, batch, device
IMX500 imx yolo11n_imx_model/ imgsz, int8, data, fraction, device
RKNN rknn yolo11n_rknn_model/ imgsz, batch, name, device

Voir tous les export détails dans la section Exporter page.

FAQ

Comment puis-je évaluer les performances de mon modèle YOLO11 à l'aide d'Ultralytics ?

Ultralytics YOLO11 offre un mode Benchmark pour évaluer les performances de votre modèle dans différents formats d'exportation. Ce mode fournit des informations sur des métriques clés telles que la précision moyenne moyenne (mAP50-95), la précision et le temps d'inférence en millisecondes. Pour exécuter des benchmarks, vous pouvez utiliser des commandes Python ou CLI. Par exemple, pour effectuer un benchmark sur un 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 de benchmark, consultez la section Arguments.

Quels sont les avantages de l'exportation des modèles YOLO11 vers différents formats ?

L'exportation de 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 : Fournit un gain de vitesse CPU jusqu'à 3x.
  • TensorRT : Offre une accélération GPU jusqu'à 5x.
  • 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, les rendant plus efficaces pour diverses applications du monde réel. Visitez la page Exportation pour tous les détails.

Pourquoi l'évaluation comparative est-elle cruciale dans l'évaluation des modèles YOLO11 ?

L'évaluation comparative de vos modèles YOLO11 est essentielle pour plusieurs raisons :

  • Décisions éclairées : Comprendre les compromis entre vitesse et précision.
  • Allocation des ressources : Évaluer les performances sur différentes options matérielles.
  • Optimisation : Déterminer quel format d'exportation offre les meilleures performances pour des cas d'utilisation spécifiques.
  • Rentabilité : Optimisez l'utilisation du matériel en fonction des résultats des benchmarks.

Les indicateurs clés tels que mAP50-95, la précision Top-5 et le temps d'inférence aident à effectuer ces évaluations. Consultez la section Indicateurs clés pour plus d'informations.

Quels formats d'exportation sont pris en charge par YOLO11, et quels sont leurs avantages ?

YOLO11 prend en charge une variété de formats d'exportation, chacun étant adapté à des cas d'utilisation et à du matériel spécifiques :

  • ONNX : Idéal pour les performances du CPU.
  • TensorRT : Idéal pour l'efficacité du GPU.
  • OpenVINO : Optimisé pour le matériel Intel.
  • CoreML & TensorFlow : Utile pour les applications iOS et ML générales.

Pour 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 benchmarks YOLO11 ?

Lors de l'exécution de benchmarks, plusieurs arguments peuvent être personnalisés pour répondre à des besoins spécifiques :

  • model : Chemin d'accès au fichier de 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 entier unique, soit sous forme d'un tuple.
  • half : Activer l'inférence FP16 pour de meilleures performances.
  • int8 : Activer la quantification INT8 pour les appareils périphériques.
  • device : Spécifier 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, consultez la section Arguments.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 3 mois

Commentaires