Migliorare il tracciamento e la visualizzazione degli esperimenti su YOLOv8 con Weights & Biases
I modelli di rilevamento degli oggetti come Ultralytics YOLOv8 sono diventati parte integrante di molte applicazioni di computer vision. Tuttavia, l'addestramento, la valutazione e l'implementazione di questi modelli complessi comporta diverse sfide. Tracciare le metriche chiave dell'addestramento, confrontare le varianti del modello, analizzarne il comportamento e rilevare i problemi richiede una strumentazione e una gestione dell'esperimento notevoli.
Questa guida illustra l'integrazione di Ultralytics YOLOv8 con Weights & Biases' per migliorare il tracciamento degli esperimenti, il controllo dei modelli e la visualizzazione delle prestazioni dei modelli. Include anche le istruzioni per impostare l'integrazione, la formazione, la messa a punto e la visualizzazione dei risultati utilizzando le funzioni interattive di Weights & Biases'.
Weights & Biases
Weights & Biases è una piattaforma MLOps all'avanguardia progettata per tracciare, visualizzare e gestire gli esperimenti di apprendimento automatico. Offre la registrazione automatica delle metriche di addestramento per la piena riproducibilità degli esperimenti, un'interfaccia utente interattiva per un'analisi semplificata dei dati e strumenti efficienti per la gestione dei modelli da distribuire in vari ambienti.
YOLOv8 Formazione con Weights & Biases
Puoi utilizzare Weights & Biases per rendere più efficiente e automatizzato il tuo processo di formazione su YOLOv8 .
Installazione
Per installare i pacchetti necessari, esegui:
Installazione
Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consulta la nostra Guida all'installazione diYOLOv8 . Durante l'installazione dei pacchetti necessari per YOLOv8, se dovessi incontrare delle difficoltà , consulta la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.
Configurazione Weights & Biases
Dopo aver installato i pacchetti necessari, il passo successivo è quello di configurare l'ambiente Weights & Biases . Questo include la creazione di un account Weights & Biases e l'ottenimento della chiave API necessaria per una connessione fluida tra il tuo ambiente di sviluppo e la piattaforma W&B.
Inizia inizializzando l'ambiente Weights & Biases nel tuo spazio di lavoro. Puoi farlo eseguendo il seguente comando e seguendo le istruzioni richieste.
Configurazione iniziale dell'SDK
Vai alla pagina di autorizzazione di Weights & Biases per creare e recuperare la tua chiave API. Utilizza questa chiave per autenticare il tuo ambiente con W&B.
Utilizzo: Formazione YOLOv8 con Weights & Biases
Prima di immergerti nelle istruzioni d'uso per la formazione del modello YOLOv8 con Weights & Biases, assicurati di dare un'occhiata alla gamma di modelliYOLOv8 offerti da Ultralytics. Questo ti aiuterà a scegliere il modello più adatto alle esigenze del tuo progetto.
Utilizzo: Formazione YOLOv8 con Weights & Biases
import wandb
from ultralytics import YOLO
from wandb.integration.ultralytics import add_wandb_callback
# Step 1: Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")
# Step 2: Define the YOLOv8 Model and Dataset
model_name = "yolov8n"
dataset_name = "coco8.yaml"
model = YOLO(f"{model_name}.pt")
# Step 3: Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)
# Step 4: Train and Fine-Tune the Model
model.train(project="ultralytics", data=dataset_name, epochs=5, imgsz=640)
# Step 5: Validate the Model
model.val()
# Step 6: Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])
# Step 7: Finalize the W&B Run
wandb.finish()
Capire il Codice
Vediamo i passaggi illustrati nel codice d'uso qui sopra.
-
Passo 1: inizializzare una sessione di Weights & Biases : Inizia inizializzando una sessione Weights & Biases , specificando il nome del progetto e il tipo di lavoro. Questa sessione terrà traccia e gestirà i processi di formazione e convalida del tuo modello.
-
Passo 2: Definire il modello e il set di dati di YOLOv8 : Specifica la variante del modello e il set di dati che desideri utilizzare. Il modello YOLO viene inizializzato con il file del modello specificato.
-
Passo 3: Aggiungere Weights & Biases Callback per Ultralytics: Questo passaggio è fondamentale perché consente di registrare automaticamente le metriche di addestramento e i risultati di convalida su Weights & Biases, fornendo una visione dettagliata delle prestazioni del modello.
-
Fase 4: Addestramento e messa a punto del modello: Inizia l'addestramento del modello con il set di dati, il numero di epoche e le dimensioni dell'immagine specificati. Il processo di addestramento prevede la registrazione delle metriche e delle previsioni alla fine di ogni epoca, offrendo una visione completa dei progressi di apprendimento del modello.
-
Fase 5: Convalida del modello: Dopo la formazione, il modello viene convalidato. Questa fase è fondamentale per valutare le prestazioni del modello su dati inediti e per garantirne la generalizzabilità .
-
Fase 6: Eseguire l'inferenza e registrare i risultati: Il modello esegue delle previsioni sulle immagini specificate. Queste previsioni, insieme a sovrapposizioni visive e approfondimenti, vengono registrate automaticamente in una tabella W&B per l'esplorazione interattiva.
-
Passo 7: Finalizzare l'esecuzione di W&B: Questo passaggio segna la fine della registrazione dei dati e salva lo stato finale del processo di addestramento e convalida del modello nella dashboard di W&B.
Capire l'output
Eseguendo il frammento di codice di cui sopra, puoi aspettarti i seguenti risultati chiave:
- L'impostazione di una nuova sessione con il suo ID univoco indica l'inizio del processo di formazione.
- Un riassunto conciso della struttura del modello, compreso il numero di livelli e i parametri.
- Aggiornamenti regolari su metriche importanti come box loss, cls loss, dfl loss, precision, recall e mAP durante ogni periodo di allenamento.
- Al termine dell'addestramento, vengono visualizzate le metriche dettagliate, tra cui la velocità di inferenza del modello e le metriche di accuratezza complessiva.
- Link alla dashboard di Weights & Biases per un'analisi approfondita e la visualizzazione del processo di formazione, oltre a informazioni sulla posizione dei file di log locali.
Visualizzare il cruscotto di Weights & Biases
Dopo aver eseguito il frammento di codice d'uso, puoi accedere alla dashboard di Weights & Biases (W&B) attraverso il link fornito nell'output. Questa dashboard offre una visione completa del processo di formazione del tuo modello con YOLOv8.
Caratteristiche principali del cruscotto di Weights & Biases
-
Tracciamento delle metriche in tempo reale: Osserva metriche come la perdita, l'accuratezza e i punteggi di convalida mentre si evolvono durante l'addestramento, offrendo spunti immediati per la messa a punto del modello.
-
Ottimizzazione dell'iperparametro: Weights & Biases aiuta a regolare con precisione parametri critici come il tasso di apprendimento, la dimensione del batch e altro ancora, migliorando le prestazioni di YOLOv8.
-
Analisi comparativa: La piattaforma permette di confrontare fianco a fianco diversi cicli di formazione, essenziali per valutare l'impatto di varie configurazioni del modello.
-
Visualizzazione dei progressi della formazione: Le rappresentazioni grafiche delle metriche chiave forniscono una comprensione intuitiva delle prestazioni del modello attraverso le epoche.
-
Monitoraggio delle risorse: Tieni traccia dell'utilizzo di CPU, GPU e memoria per ottimizzare l'efficienza del processo di formazione.
-
Gestione degli artefatti del modello: Accedi e condividi i checkpoint del modello, facilitando la distribuzione e la collaborazione.
-
Visualizzazione dei risultati dell'inferenza con sovrapposizione di immagini: Visualizza i risultati delle predizioni sulle immagini grazie alle sovrapposizioni interattive di Weights & Biases, che offrono una visione chiara e dettagliata delle prestazioni del modello sui dati del mondo reale. Per informazioni più dettagliate sulle funzionalità di sovrapposizione delle immagini di Weights & Biases, consulta questo link.
Utilizzando queste funzioni, puoi monitorare, analizzare e ottimizzare la formazione del tuo modello YOLOv8 , assicurandoti le migliori prestazioni ed efficienza possibili.
Sommario
Questa guida ti ha aiutato a esplorare l'integrazione di Ultralytics'YOLOv8 con Weights & Biases. Illustra la capacità di questa integrazione di tracciare e visualizzare in modo efficiente i risultati della formazione e della previsione dei modelli.
Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale diWeights & Biases'.
Inoltre, dai un'occhiata alla pagina della guida alle integrazioni diUltralytics per saperne di più su diverse interessanti integrazioni.