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, 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, quantize, device, verbose e format offrono la flessibilità per personalizzare i benchmark in base alle tue esigenze specifiche e confrontare facilmente le prestazioni di 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. |
quantize | None | Precisione di quantizzazione: 16 (FP16) o 8 (INT8/PTQ; richiede data/fraction di calibrazione); 32/non impostato equivale a FP32. Sostituisce i flag deprecati half/int8. |
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, quantize, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n.onnx | ✅ | imgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device |
| OpenVINO | openvino | yolo26n_openvino_model/ | ✅ | imgsz, quantize, dynamic, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n.engine | ✅ | imgsz, quantize, dynamic, simplify, workspace, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n.mlpackage | ✅ | imgsz, dynamic, quantize, nms, batch, device |
| TF SavedModel | saved_model | yolo26n_saved_model/ | ✅ | imgsz, keras, quantize, nms, batch, data, fraction, device |
| TF GraphDef | pb | yolo26n.pb | ❌ | imgsz, batch, device |
| TF Edge TPU | edgetpu | yolo26n_edgetpu.tflite | ✅ | imgsz, quantize, data, fraction, device |
| PaddlePaddle | paddle | yolo26n_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n.mnn | ✅ | imgsz, batch, quantize, device |
| NCNN | ncnn | yolo26n_ncnn_model/ | ✅ | imgsz, quantize, batch, device |
| IMX500 | imx | yolo26n_imx_model/ | ✅ | imgsz, quantize, data, fraction, nms, device |
| RKNN | rknn | yolo26n_rknn_model/ | ✅ | imgsz, batch, name, quantize, data, fraction, device |
| ExecuTorch | executorch | yolo26n_executorch_model/ | ✅ | imgsz, batch, device |
| Axelera | axelera | yolo26n_axelera_model/ | ✅ | imgsz, batch, quantize, data, fraction, device |
| DEEPX | deepx | yolo26n_deepx_model/ | ✅ | imgsz, quantize, data, optimize, device |
| Qualcomm QNN | qnn | yolo26n_qnn.onnx | ✅ | imgsz, batch, name, quantize, data, fraction, device |
| LiteRT | litert | yolo26n.tflite | ✅ | imgsz, quantize, batch, 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, 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 permette di ottimizzare le prestazioni in base al tuo ambiente di deployment. Per 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 quadrata come un singolo numero intero, ad esempio
640. La modalità benchmark utilizza la stessa dimensione dell'immagine quadrata sia in PyTorch che nei formati esportati per un confronto equo. - quantize: Precisione di quantizzazione:
16per FP16,8per INT8 (utile per dispositivi edge);32/non impostato equivale a FP32. - 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.