Come addestrare, convalidare, eseguire previsioni, esportare e confrontare le prestazioni dei modelli Ultralytics YOLO
Scopri come funzionano le modalità train, val, predict, export, track e benchmark di Ultralytics YOLO, con consigli sulle metriche di validazione e sui risultati dei benchmark nel mondo reale.
Nuvola Ladi4 min di lettura
I modelli Ultralytics YOLO includono diverse modalità che coprono l'intero ciclo di vita del modello. Che tu stia addestrando modelli personalizzati per il rilevamento di oggetti o lavorando alla segmentazione, comprenderle è un passaggio fondamentale.
Nella documentazione di Ultralytics troverai diverse modalità da utilizzare con i tuoi modelli, per addestrarli, convalidarli, eseguire previsioni, esportarli, tracciarli o valutarne le prestazioni. Ognuna di queste modalità ha uno scopo specifico e ti aiuta a ottimizzare le prestazioni e la distribuzione del modello.
Modalità di addestramento#
Per prima cosa, diamo un'occhiata alla modalità di addestramento. È qui che crei e perfezioni il tuo modello. Nella documentazione trovi istruzioni dettagliate e guide video, così iniziare ad addestrare modelli personalizzati è semplice.
L'addestramento di un modello consiste nel fornirgli un nuovo dataset, così che possa imparare vari schemi. Una volta addestrato, il modello può essere usato in tempo reale per rilevare nuovi oggetti su cui è stato addestrato. Prima di iniziare l'addestramento, è essenziale annotare il dataset nel formato YOLO.
Modalità di convalida#
Ora passiamo alla modalità di convalida. La convalida è essenziale per ottimizzare gli iperparametri e verificare che il modello funzioni bene. Ultralytics offre diverse opzioni di convalida, tra cui impostazioni automatiche, supporto per più metriche e compatibilità con l'API Python. Puoi anche avviare la convalida direttamente tramite l'interfaccia a riga di comando (CLI) con un solo comando.
Perché convalidare?#
La convalida è fondamentale per:
- Precisione: assicurarti che il tuo modello rilevi gli oggetti con accuratezza.
- Praticità: semplificare il processo di convalida.
- Flessibilità: offrire diversi metodi di convalida.
- Ottimizzazione degli iperparametri: ottimizzare il modello per migliorarne le prestazioni.
Ultralytics fornisce anche esempi di utilizzo che puoi copiare e incollare negli script Python. Questi esempi includono parametri come le dimensioni dell'immagine, la dimensione del batch, il dispositivo (CPU o GPU) e l'intersezione su unione (IoU).
Modalità di previsione#
Una volta addestrato e convalidato il modello, è il momento di fare previsioni. La modalità Predict consente di eseguire inferenze su nuovi dati e vedere il modello in azione. È ideale per testare le prestazioni del modello su dati reali. Ti bastano poche righe di codice Python per eseguire previsioni sulle tue immagini.
Modalità di esportazione#
Dopo la convalida e la previsione, potresti voler distribuire il tuo modello. La modalità di esportazione ti consente di convertirlo in vari formati, come ONNX o TensorRT, semplificandone la distribuzione su piattaforme diverse.
Modalità di benchmarking#
Infine, c'è la modalità di benchmarking. Il benchmarking è essenziale per valutare le prestazioni del tuo modello in diversi scenari. Questa modalità ti aiuta a prendere decisioni consapevoli sull'allocazione delle risorse, l'ottimizzazione e l'efficienza dei costi.
Come eseguire il benchmarking#
Per eseguire un benchmark, puoi usare gli esempi per gli utenti forniti nella documentazione. Gli esempi illustrano le metriche principali e i formati di esportazione, tra cui ONNX e TensorRT. Puoi anche impostare l'argomento quantize per la quantizzazione a interi (INT8) o la precisione dimezzata (FP16) e vedere come le diverse impostazioni influiscono sulle prestazioni.
Esempio di benchmarking nel mondo reale#
Vediamo un esempio di benchmarking nel mondo reale. Quando eseguiamo il benchmark del nostro modello PyTorch, rileviamo una velocità di inferenza di 68 millisecondi su una GPU RTX 3070. Dopo l'esportazione in TorchScript, la velocità di inferenza scende a 4 millisecondi, mostrando un miglioramento significativo.
Con i modelli ONNX raggiungiamo una velocità di inferenza di 21 millisecondi. Testando questi modelli su una CPU (un Intel i9 di 13ª generazione), osserviamo risultati diversi. TorchScript impiega 115 millisecondi, mentre ONNX offre prestazioni migliori con 84 millisecondi. Infine, OpenVINO, ottimizzato per l'hardware Intel, raggiunge 23 millisecondi.

Fig. 1. Nicolai Nielsen mostra come eseguire il benchmarking con i modelli Ultralytics YOLO.
L'importanza del benchmarking#
Il benchmarking mostra come hardware e formati di esportazione diversi possano influire sulle prestazioni del modello. È fondamentale eseguire il benchmark dei tuoi modelli, soprattutto se intendi distribuirli su hardware personalizzato o dispositivi edge. Questo processo assicura che il modello sia ottimizzato per l'ambiente di destinazione e offra le migliori prestazioni possibili.
Conclusione#
In sintesi, le modalità della documentazione Ultralytics sono strumenti potenti per addestrare, convalidare, eseguire previsioni, esportare e valutare le prestazioni dei tuoi modelli YOLO. Ogni modalità svolge un ruolo fondamentale nell'ottimizzazione del modello e nella sua preparazione alla distribuzione.
Non dimenticare di esplorare e unirti alla nostra community e di provare gli snippet di codice forniti nei tuoi progetti. Con questi strumenti puoi creare modelli dalle prestazioni elevate e assicurarti che funzionino in modo efficiente in qualsiasi ambiente.
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










