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écuter les benchmarks YOLO11n dans tous les formats d'exportation supportésONNX, TensorRT, etc.). Voir la section Arguments ci-dessous pour une liste complète des options 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éfautDescription
modelNoneSpé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.
dataNoneChemin 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".
imgsz640La 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).
halfFalseActive 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.
int8FalseActive 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.
deviceNoneDéfinit le(s) périphérique(s) de calcul pour le benchmarking, tels que "cpu" ou "cuda:0".
verboseFalseContrôle le niveau de détail dans la sortie de journalisation. Définir verbose=True pour des journaux détaillés.
format''Les analyses comparatives ne portent que sur le format d'exportation spécifié (par ex, format=onnx). Laissez le champ vide pour tester automatiquement tous les formats pris en charge.

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.

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



📅C réé il y a 2 ans ✏️ Mis à jour il y a 3 jours
glenn-jocherBurhan-Qambitious-octopuslakshanthadRizwanMunawarY-T-GUltralyticsAssistantjk4eMatthewNoyceLaughing-q

Commentaires