Link to this sectionBenchmark dei modelli con Ultralytics YOLO#
Link to this sectionVisualizzazione del benchmark#
Potrebbe essere necessario aggiornare la pagina per visualizzare correttamente i grafici a causa di potenziali problemi con i cookie.
Link to this sectionIntroduzione#
Una volta che il tuo modello è addestrato e convalidato, il passo logico successivo è valutarne le prestazioni in vari scenari reali. La modalità benchmark in Ultralytics YOLO26 serve a questo scopo, fornendo un framework robusto per valutare la velocità e l'accuratezza del tuo modello attraverso una serie di formati di esportazione.
Watch: Benchmark Ultralytics YOLO26 Models | How to Compare Model Performance on Different Hardware?
Link to this sectionPerché il benchmarking è fondamentale?#
- Decisioni informate: ottieni informazioni sui compromessi tra velocità e accuratezza.
- Allocazione delle risorse: comprendi come i diversi formati di esportazione si comportano su diversi hardware.
- Ottimizzazione: scopri quale formato di esportazione offre le migliori prestazioni per il tuo caso d'uso specifico.
- Efficienza dei costi: utilizza in modo più efficiente le risorse hardware in base ai risultati del benchmark.
Link to this sectionMetriche chiave nella modalità benchmark#
- mAP50-95: per object detection, segmentazione e stima della posa.
- accuracy_top1: Per la classificazione delle immagini.
- Tempo di inferenza: tempo impiegato per ogni immagine in millisecondi.
Link to this sectionFormati di esportazione supportati#
- ONNX: per prestazioni CPU ottimali
- TensorRT: per la massima efficienza della GPU
- OpenVINO: per l'ottimizzazione dell'hardware Intel
- CoreML, TensorFlow SavedModel e altro: per diverse esigenze di distribuzione.
- Esporta in ONNX o OpenVINO per un incremento di velocità della CPU fino a 3x.
- Esporta in TensorRT per un incremento di velocità della GPU fino a 5x.
Link to this sectionEsempi di Utilizzo#
Installa Ultralytics con le dipendenze di esportazione prima di eseguire il benchmarking per evitare di perdere pacchetti.
pip install ultralytics[export]Esegui i benchmark di YOLO26n su tutti i formati di esportazione supportati (ONNX, TensorRT, ecc.). Vedi la sezione Argomenti qui sotto per un elenco completo delle opzioni di esportazione.
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
# Benchmark specific export format
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, format="onnx")Link to this sectionArgomenti#
Argomenti come model, data, imgsz, half, device, verbose e format offrono agli utenti la flessibilità di perfezionare i benchmark secondo le proprie esigenze specifiche e confrontare facilmente le prestazioni dei diversi formati di esportazione.
| Chiave | Valore predefinito | Descrizione |
|---|---|---|
model | None | Specifica il percorso del file del modello. Accetta sia formati .pt che .yaml, ad esempio "yolo26n.pt" per modelli preaddestrati o file di configurazione. |
data | None | Percorso di un file YAML che definisce il set di dati per il benchmarking, che solitamente include percorsi e impostazioni per i validation data. Esempio: "coco8.yaml". |
imgsz | 640 | La dimensione dell'immagine di input per il modello. Deve essere un singolo numero intero per immagini quadrate (ad esempio, 640); benchmark() supporta solo dimensioni di immagini quadrate. |
half | False | Abilita l'inferenza FP16 (precisione dimezzata), riducendo l'utilizzo della memoria e possibilmente aumentando la velocità su hardware compatibile. Usa half=True per abilitare. |
int8 | False | Attiva la quantizzazione INT8 per prestazioni ulteriormente ottimizzate su dispositivi supportati, particolarmente utile per i dispositivi edge. Imposta int8=True per utilizzare. |
device | 'cpu' | Definisce il/i dispositivo/i di calcolo per il benchmarking, come "cpu" o "cuda:0". |
verbose | False | Controlla il livello di dettaglio nell'output di registro. Imposta verbose=True per log dettagliati. |
format | '' | Esegue il benchmark solo del formato di esportazione specificato (ad esempio, format=onnx). Lascialo vuoto per testare automaticamente ogni formato supportato. |
Link to this sectionFormati di esportazione#
I benchmark tenteranno di essere eseguiti automaticamente su tutti i possibili formati di esportazione elencati di seguito. In alternativa, puoi eseguire i benchmark per un formato specifico utilizzando l'argomento format, che accetta uno qualsiasi dei formati menzionati di seguito.
| Formato | Argomento format | Modello | Metadati | Argomenti |
|---|---|---|---|---|
| PyTorch | - | yolo26n.pt | ✅ | - |
| TorchScript | torchscript | yolo26n.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, int8, data, fraction, device |
| TF.js | tfjs | yolo26n_web_model/ | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, int8, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, half, int8, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, int8, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, int8, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn.onnx | ✅ | imgsz, batch, name, int8, data, fraction, device |
Vedi i dettagli completi dell'export nella pagina Export.
Link to this sectionFAQ#
Link to this sectionCome faccio a testare le prestazioni del mio modello YOLO26 utilizzando Ultralytics?#
Ultralytics YOLO26 offre una modalità Benchmark per valutare le prestazioni del tuo modello su diversi formati di esportazione. Questa modalità fornisce informazioni su metriche chiave come mean Average Precision (mAP50-95), precisione e tempo di inferenza in millisecondi. Per eseguire i benchmark, puoi utilizzare comandi Python o CLI. Ad esempio, per eseguire il benchmark su una GPU:
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)Per maggiori dettagli sugli argomenti dei benchmark, visita la sezione Arguments.
Link to this sectionQuali sono i vantaggi dell'esportazione dei modelli YOLO26 in diversi formati?#
Esportare i modelli YOLO26 in diversi formati come ONNX, TensorRT e OpenVINO ti consente di ottimizzare le prestazioni in base al tuo ambiente di distribuzione. Ad esempio:
- ONNX: Fornisce fino a 3x di velocizzazione su CPU.
- TensorRT: Offre fino a 5x di velocizzazione su GPU.
- OpenVINO: Specificamente ottimizzato per hardware Intel.
Questi formati migliorano sia la velocità che l'accuratezza dei tuoi modelli, rendendoli più efficienti per varie applicazioni reali. Visita la pagina Export per i dettagli completi.
Link to this sectionPerché il benchmarking è fondamentale nella valutazione dei modelli YOLO26?#
Il benchmarking dei tuoi modelli YOLO26 è essenziale per diverse ragioni:
- 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 del benchmark.
Metriche chiave come mAP50-95, accuratezza Top-1 e tempo di inferenza aiutano a effettuare queste valutazioni. Consulta la sezione Metriche chiave per maggiori informazioni.
Link to this sectionQuali formati di esportazione sono supportati da YOLO26 e quali sono i loro vantaggi?#
YOLO26 supporta una varietà di formati di esportazione, ognuno su misura per hardware e casi d'uso specifici:
- ONNX: Ideale per le prestazioni su CPU.
- TensorRT: Ideale per l'efficienza su GPU.
- OpenVINO: Ottimizzato per hardware Intel.
- CoreML & TensorFlow: Utili per iOS e applicazioni ML generali.
Per un elenco completo dei formati supportati e i loro rispettivi vantaggi, controlla la sezione Supported Export Formats.
Link to this sectionQuali argomenti posso utilizzare per ottimizzare i miei benchmark YOLO26?#
Quando esegui i benchmark, diversi argomenti possono essere personalizzati per soddisfare esigenze specifiche:
- model: Percorso del file del modello (es. "yolo26n.pt").
- data: Percorso del file YAML che definisce il dataset (es. "coco8.yaml").
- imgsz: La dimensione dell'immagine di input, come singolo intero o tupla.
- half: Abilita l'inferenza FP16 per prestazioni migliori.
- int8: Attiva la quantizzazione INT8 per dispositivi edge.
- device: Specifica il dispositivo di calcolo (es. "cpu", "cuda:0").
- verbose: Controlla il livello di dettaglio del logging.
Per un elenco completo degli argomenti, fai riferimento alla sezione Arguments.