Vai al contenuto

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 Panoramica

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

# Install the required packages for YOLOv8 and Weights & Biases
pip install --upgrade ultralytics==8.0.186 wandb

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

# Initialize your Weights & Biases environment
import wandb
wandb.login()

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

from ultralytics import YOLO
from wandb.integration.ultralytics import add_wandb_callback
import wandb

# 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 = "coco128.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.



Creato 2023-12-28, Aggiornato 2024-01-15
Autori: glenn-jocher (3), abirami-vina (1)

Commenti