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 benchmark YOLO11n su tutti i formati di esportazione supportati, inclusi ONNX, TensorRT ecc. Consulta la sezione Argomenti di seguito per un elenco completo degli argomenti 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.

Chiave Valore predefinito Descrizione
model None Specifica 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.
data None Percorso 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".
imgsz 640 La 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).
half False Abilita l'inferenza FP16 (mezza precisione), riducendo l'utilizzo della memoria e possibilmente aumentando la velocità sull'hardware compatibile. Usa half=True per abilitare.
int8 False Attiva la quantizzazione INT8 per prestazioni ulteriormente ottimizzate sui dispositivi supportati, particolarmente utile per i dispositivi edge. Imposta int8=True per utilizzare.
device None Definisce i dispositivi di calcolo per il benchmarking, come "cpu" oppure "cuda:0".
verbose False Controlla il livello di dettaglio nell'output di registrazione. Imposta verbose=True per log dettagliati.
format '' Esegui il benchmark del modello su un singolo formato di esportazione. es. format=onnx

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.

Formato format Argomento Modello Metadati Argomenti
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

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 a effettuare 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 set di dati (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.



📅 Creato 1 anno fa ✏️ Aggiornato 3 mesi fa

Commenti