Vai al contenuto

Benchmark del modello con Ultralytics YOLO

Ecosistema e integrazioni Ultralytics YOLO

Visualizzazione del benchmark

Aggiorna il browser

Potrebbe essere necessario aggiornare la pagina per visualizzare correttamente i grafici a causa di potenziali problemi con i cookie.

Introduzione

Una volta che il modello è stato addestrato e validato, il passo logico successivo è valutarne le prestazioni in vari scenari del mondo reale. La modalità benchmark in Ultralytics YOLO11 serve a questo scopo fornendo un framework robusto per valutare la velocità e l'accuratezza del modello in una vasta gamma di formati di esportazione.



Guarda: Benchmark dei modelli Ultralytics YOLO11 | Come confrontare le prestazioni del modello su hardware diversi?

Perché il benchmarking è fondamentale?

  • Decisioni informate: Ottieni informazioni sui compromessi tra velocità e accuratezza.
  • Allocazione delle risorse: Comprendi come diversi formati di esportazione si comportano su hardware diversi.
  • Ottimizzazione: Scopri quale formato di esportazione offre le migliori prestazioni per il tuo specifico caso d'uso.
  • Efficienza dei costi: Utilizza le risorse hardware in modo più efficiente in base ai risultati del benchmark.

Metriche chiave nella modalità benchmark

Formati di esportazione supportati

  • ONNX: Per prestazioni ottimali della CPU
  • TensorRT: Per la massima efficienza della GPU
  • OpenVINO: Per l'ottimizzazione dell'hardware Intel
  • CoreML, TensorFlow SavedModel e altro: Per diverse esigenze di implementazione.

Suggerimento

  • Esporta in ONNX o OpenVINO per un aumento della velocità della CPU fino a 3 volte.
  • Esporta in TensorRT per un aumento della velocità della GPU fino a 5 volte.

Esempi di utilizzo

Esegui i benchmark di YOLO11n su tutti i formati di esportazione supportati (ONNX, TensorRT, ecc.). Consulta la sezione Argomenti di seguito per un elenco completo delle opzioni di esportazione.

Esempio

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

Argomenti

Argomenti come model, data, imgsz, half, device, verbose e format offrono agli utenti la flessibilità di mettere a punto i benchmark in base alle loro esigenze specifiche e di confrontare facilmente le prestazioni di diversi formati di esportazione.

ChiaveValore predefinitoDescrizione
modelNoneSpecifica il percorso del file del modello. Accetta entrambi i formati .pt e .yaml , ad esempio, "yolo11n.pt" per modelli pre-addestrati o file di configurazione.
dataNonePercorso di un file YAML che definisce il set di dati per il benchmarking, che in genere include percorsi e impostazioni per dati di validazione. Esempio: "coco8.yaml".
imgsz640La dimensione dell'immagine di input per il modello. Può essere un singolo numero intero per le immagini quadrate o una tupla (width, height) per non quadrate, ad esempio, (640, 480).
halfFalseAbilita l'inferenza FP16 (mezza precisione), riducendo l'utilizzo della memoria e possibilmente aumentando la velocità sull'hardware compatibile. Usa half=True per abilitare.
int8FalseAttiva la quantizzazione INT8 per prestazioni ulteriormente ottimizzate sui dispositivi supportati, particolarmente utile per i dispositivi edge. Imposta int8=True per utilizzare.
deviceNoneDefinisce i dispositivi di calcolo per il benchmarking, come "cpu" oppure "cuda:0".
verboseFalseControlla il livello di dettaglio nell'output di registrazione. Imposta verbose=True per log dettagliati.
format''Esegue il benchmark solo del formato di esportazione specificato (ad es. format=onnx). Lascialo vuoto per testare automaticamente ogni formato supportato.

Formati di esportazione

I benchmark tenteranno di essere eseguiti automaticamente su tutti i formati di esportazione possibili elencati di seguito. In alternativa, puoi eseguire benchmark per un formato specifico utilizzando il format argomento, che accetta uno qualsiasi dei formati menzionati di seguito.

Formatoformat ArgomentoModelloMetadatiArgomenti
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
Axeleraaxelerayolo11n_axelera_model/imgsz, int8, data, fraction, device

Vedi tutti i export dettagli nella Esportazione pagina.

FAQ

Come posso valutare le prestazioni del mio modello YOLO11 utilizzando Ultralytics?

Ultralytics YOLO11 offre una modalità Benchmark per valutare le prestazioni del tuo modello in diversi formati di esportazione. Questa modalità fornisce informazioni su metriche chiave come la precisione media media (mAP50-95), l'accuratezza e il tempo di inferenza in millisecondi. Per eseguire i benchmark, puoi utilizzare i comandi Python o CLI. Ad esempio, per eseguire il benchmark su una GPU:

Esempio

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

Per maggiori dettagli sugli argomenti del benchmark, visita la sezione Argomenti.

Quali sono i vantaggi dell'esportazione di modelli YOLO11 in diversi formati?

L'esportazione di modelli YOLO11 in diversi formati come ONNX, TensorRT e OpenVINO consente di ottimizzare le prestazioni in base al proprio ambiente di distribuzione. Ad esempio:

  • ONNX: Fornisce un aumento di velocità della CPU fino a 3 volte.
  • TensorRT: Offre un aumento di velocità della GPU fino a 5 volte.
  • OpenVINO: Ottimizzato specificamente per hardware Intel.

Questi formati migliorano sia la velocità che l'accuratezza dei tuoi modelli, rendendoli più efficienti per varie applicazioni nel mondo reale. Visita la pagina Esportazione per tutti i dettagli.

Perché il benchmarking è fondamentale nella valutazione dei modelli YOLO11?

Il benchmarking dei tuoi modelli YOLO11 è essenziale per diversi motivi:

  • Decisioni informate: Comprendi i compromessi tra velocità e precisione.
  • Allocazione delle risorse: Valuta le prestazioni su diverse opzioni hardware.
  • Ottimizzazione: Determina quale formato di esportazione offre le migliori prestazioni per casi d'uso specifici.
  • Efficienza dei Costi: Ottimizza l'utilizzo dell'hardware in base ai risultati dei benchmark.

Metriche chiave come mAP50-95, accuratezza Top-5 e tempo di inferenza aiutano nel fare queste valutazioni. Fare riferimento alla sezione Metriche Chiave per maggiori informazioni.

Quali formati di esportazione sono supportati da YOLO11 e quali sono i loro vantaggi?

YOLO11 supporta una varietà di formati di esportazione, ciascuno personalizzato per hardware e casi d'uso specifici:

  • ONNX: Ideale per le prestazioni della CPU.
  • TensorRT: Ideale per l'efficienza della GPU.
  • OpenVINO: Ottimizzato per hardware Intel.
  • CoreML e TensorFlow: Utile per applicazioni iOS e ML generali.

Per un elenco completo dei formati supportati e dei rispettivi vantaggi, consulta la sezione Formati di esportazione supportati.

Quali argomenti posso usare per ottimizzare i miei benchmark YOLO11?

Durante l'esecuzione dei benchmark, è possibile personalizzare diversi argomenti per soddisfare esigenze specifiche:

  • model: Percorso del file del modello (ad esempio, "yolo11n.pt").
  • data: Percorso di un file YAML che definisce il dataset (ad esempio, "coco8.yaml").
  • imgsz: La dimensione dell'immagine di input, come un singolo numero intero o una tupla.
  • half: Abilita l'inferenza FP16 per prestazioni migliori.
  • int8: Attiva la quantizzazione INT8 per i dispositivi edge.
  • device: Specifica il dispositivo di calcolo (ad esempio, "cpu", "cuda:0").
  • verbose: Controlla il livello di dettaglio della registrazione.

Per un elenco completo degli argomenti, consultare la sezione Argomenti.



📅C reato 2 anni fa ✏️ Aggiornato 25 giorni fa
glenn-jocherBurhan-Qambitious-octopuslakshanthadRizwanMunawarY-T-GUltralyticsAssistantjk4eMatthewNoyce

Commenti