Controllo verde
Link copiato negli appunti

Come addestrare, validare, prevedere, esportare e fare benchmark con i modelli di Ultralytics YOLO

Scopri come addestrare, validare, prevedere, esportare e fare benchmark con i modelli di Ultralytics YOLO !

Facciamo un tuffo nel mondo di Ultralytics ed esploriamo le diverse modalità disponibili per i vari modelli di YOLO . Se stai addestrando modelli personalizzati di rilevamento degli oggetti o se stai lavorando sulla segmentazione, la comprensione di queste modalità è un passo fondamentale. Facciamo un salto nel buio!

Nelladocumentazione di Ultralytics troverai diverse modalità che puoi utilizzare per i tuoi modelli, che si tratti di addestramento, validazione, previsione, esportazione, benchmark o tracciamento. Ognuna di queste modalità ha uno scopo unico e ti aiuta a ottimizzare le prestazioni e la distribuzione del tuo modello.

Modalità treno

Per prima cosa diamo un'occhiata alla modalità treno. È qui che costruisci e perfezioni il tuo modello. Nella documentazione puoi trovare istruzioni dettagliate e video-guide che ti permetteranno di iniziare facilmente ad addestrare i tuoi modelli personalizzati.

L'addestramento del modello consiste nel fornire a un modello un nuovo set di dati, consentendogli di apprendere vari modelli. Una volta addestrato, il modello può essere utilizzato in tempo reale per rilevare nuovi oggetti su cui è stato addestrato. Prima di iniziare il processo di addestramento, è fondamentale annotare il set di dati in formato YOLO .

Modalità di convalida

Quindi, addentriamoci nella modalità di convalida. La convalida è essenziale per mettere a punto gli iperparametri e assicurarsi che il modello funzioni bene. Ultralytics offre una serie di opzioni di convalida, tra cui impostazioni automatiche, supporto multimetrico e compatibilità con l'API Python . Puoi anche eseguire la convalida direttamente attraverso l'interfaccia a riga di comando (CLI) con il comando seguente.


yolo detect val model=yolov8n.pt # val official model

Perché convalidare?

La convalida è fondamentale per:

  • Precisione: Assicurati che il tuo modello rilevi con precisione gli oggetti.
  • Convenienza: Semplificare il processo di convalida.
  • Flessibilità: Offre diversi metodi di convalida.
  • Regolazione degli iperparametri: Ottimizzare il modello per ottenere prestazioni migliori.

Ultralytics fornisce anche degli esempi utente che puoi copiare e incollare nei tuoi script Python . Questi esempi includono parametri come la dimensione dell'immagine, la dimensione del batch, il dispositivo (CPU o GPU) e l'intersezione su unione (IoU).

Modalità Previsione

Una volta che il tuo modello è stato addestrato e convalidato, è il momento di fare delle previsioni. La modalità Predict ti permette di eseguire l'inferenza su nuovi dati e di vedere il tuo modello in azione. Questa modalità è perfetta per testare le prestazioni del tuo modello su dati reali.

Con il frammento di codice python qui sotto sarai in grado di eseguire previsioni sulle tue immagini!


from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

Modalità di esportazione

Dopo la convalida e la previsione, potresti voler distribuire il tuo modello. La modalità di esportazione ti permette di convertire il modello in vari formati, come ONNX o TensorRT, rendendo più facile la distribuzione su diverse piattaforme.

Modalità Benchmark

Infine, abbiamo la modalità benchmark. Il benchmark è essenziale per valutare le prestazioni del tuo modello in vari scenari. Questa modalità ti aiuta a prendere decisioni informate sull'allocazione delle risorse, sull'ottimizzazione e sull'efficienza dei costi.

Come fare un benchmark

Per eseguire un benchmark, puoi utilizzare gli esempi utente forniti nella documentazione. Questi esempi riguardano le metriche chiave e i formati di esportazione, tra cui ONNX e TensorRT. Puoi anche specificare parametri come la quantizzazione in numeri interi (INT8) o in virgola mobile (FP16) per vedere come le diverse impostazioni influiscono sulle prestazioni.

Esempio di benchmarking nel mondo reale

Vediamo un esempio reale di benchmark. Quando effettuiamo il benchmark del nostro modello PyTorch , notiamo una velocità di inferenza di 68 millisecondi su una RTX 3070 GPU. Dopo l'esportazione in TorchScript, la velocità di inferenza scende a 4 millisecondi, evidenziando un miglioramento significativo.

Per i modelli ONNX otteniamo una velocità di inferenza di 21 millisecondi. Testando questi modelli su un CPU (un Intel i9 di 13a generazione), vediamo risultati diversi. TorchScript funziona a 115 millisecondi, mentre ONNX si comporta meglio con 84 millisecondi. Infine, OpenVINO , ottimizzato per l'hardware di Intel , raggiunge una velocità di 23 millisecondi.

Figura 1. Nicolai Nielsen mostra come eseguire il benchmarking con Ultralytics YOLO Models.

L'importanza del benchmarking

Il benchmarking dimostra come i diversi hardware e formati di esportazione possono influire sulle prestazioni del tuo modello. È fondamentale eseguire il benchmark dei tuoi modelli, soprattutto se intendi distribuirli su hardware personalizzato o su dispositivi edge. Questo processo assicura che il tuo modello sia ottimizzato per l'ambiente di destinazione, fornendo le migliori prestazioni possibili.

Conclusione

In sintesi, le modalità presenti nella documentazione di Ultralytics sono strumenti potenti per la formazione, la convalida, la previsione, l'esportazione e il benchmarking dei tuoi modelli YOLO . Ogni modalità svolge un ruolo fondamentale per ottimizzare il tuo modello e prepararlo per la distribuzione.

Non dimenticare di esplorare e di unirti alla nostra comunità e di provare gli snippet di codice forniti nei tuoi progetti. Grazie a questi strumenti, potrai creare modelli ad alte prestazioni e assicurarti che funzionino in modo efficiente in qualsiasi ambiente.

Logo di FacebookLogo di TwitterLogo di LinkedInSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico