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 mostra Ultralytics YOLOv8 Integrazione con Weights & Biases' per migliorare il monitoraggio degli esperimenti, il checkpoint del modello e la visualizzazione delle prestazioni del modello. Include anche le istruzioni per l'impostazione dell'integrazione, la formazione, la messa a punto e la visualizzazione dei risultati utilizzando Weights & Biases' funzionalità interattive.

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

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

# Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

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

# Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

# Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Finalize the W&B Run
wandb.finish()

Capire il Codice

Di seguito verranno illustrati i passaggi illustrati nel frammento di codice di utilizzo precedente.

  • 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 riepilogo conciso della struttura del modello, incluso il numero di livelli e 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 le 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. Guarda come vengono monitorati gli esperimenti utilizzando Weights & Biases.

  • 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. Scopri come Weights & Biases ti aiuta a visualizzare i risultati della convalida.

  • Monitoraggio delle risorse: Tieni traccia di CPU, GPU e dell'utilizzo della 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 Weights & Biases' image overlay, consulta questo link. Scopri come Weights & Biases' visualizza le inferenze del modello.

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 Ultralytics' YOLOv8 Integrazione con Weights & Biases. Illustra la capacità di questa integrazione di tenere traccia e visualizzare in modo efficiente i risultati del training e della stima del modello.

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.

DOMANDE FREQUENTI

Come si installano i pacchetti necessari per YOLOv8 e Weights & Biases?

Per installare i pacchetti necessari per YOLOv8 e Weights & Biases, apri la tua interfaccia a riga di comando ed esegui:

pip install --upgrade ultralytics==8.0.186 wandb

Per ulteriori informazioni sulle fasi di installazione, consulta la nostra guida all'installazione diYOLOv8 . Se dovessi riscontrare dei problemi, consulta la guida Problemi comuni per i suggerimenti sulla risoluzione dei problemi.

Quali sono i vantaggi dell'integrazione di Ultralytics YOLOv8 con Weights & Biases?

L'integrazione di Ultralytics YOLOv8 con Weights & Biases offre diversi vantaggi tra cui:

  • Tracciamento delle metriche in tempo reale: Osserva i cambiamenti delle metriche durante l'allenamento per ottenere informazioni immediate.
  • Ottimizzazione degli iperparametri: Migliora le prestazioni del modello regolando con precisione il tasso di apprendimento, la dimensione del batch, ecc.
  • Analisi comparativa: Confronto fianco a fianco di diversi allenamenti.
  • Monitoraggio delle risorse: Tieni traccia di CPU, GPU e dell'utilizzo della memoria.
  • Gestione degli artefatti del modello: Facile accesso e condivisione dei checkpoint del modello.

Esplora queste funzioni in dettaglio nella sezione Dashboard di Weights & Biases .

Come posso configurare Weights & Biases per la formazione su YOLOv8 ?

Per configurare Weights & Biases per la formazione di YOLOv8 , segui i seguenti passaggi:

  1. Esegui il comando per inizializzare Weights & Biases:
    import wandb
    wandb.login()
    
  2. Recupera la tua chiave API dal sito web Weights & Biases .
  3. Usa la chiave API per autenticare il tuo ambiente di sviluppo.

Le istruzioni dettagliate per la configurazione si trovano nella sezione Configurazione di Weights & Biases .

Come si addestra un modello YOLOv8 utilizzando Weights & Biases?

Per addestrare un modello YOLOv8 utilizzando Weights & Biases, usa i seguenti passaggi in uno script Python :

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

# Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

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

# Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Train and Fine-Tune the Model
model.train(project="ultralytics", data="coco8.yaml", epochs=5, imgsz=640)

# Validate the Model
model.val()

# Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Finalize the W&B Run
wandb.finish()

Questo script inizializza Weights & Biases, imposta il modello, lo addestra e registra i risultati. Per maggiori dettagli, visita la sezione Uso qui sopra.

Perché dovrei utilizzare Ultralytics YOLOv8 con Weights & Biases rispetto ad altre piattaforme?

Ultralytics YOLOv8 integrato con Weights & Biases offre diversi vantaggi unici:

  • Alta efficienza: Tracciamento in tempo reale delle metriche di formazione e ottimizzazione delle prestazioni.
  • Scalabilità: Gestisci facilmente lavori di formazione su larga scala con solidi strumenti di monitoraggio e utilizzo delle risorse.
  • Interattività: Un'interfaccia interattiva di facile utilizzo per la visualizzazione dei dati e la gestione dei modelli.
  • Comunità e supporto: Una solida documentazione sull'integrazione e il supporto della comunità con opzioni di personalizzazione e miglioramento flessibili.

Per un confronto con altre piattaforme come Comet e ClearML, consulta le integrazioni diUltralytics .



Creato 2023-12-28, Aggiornato 2024-07-05
Autori: glenn-jocher (10), ambitious-octopus (1), IvorZhu331 (1), abirami-vina (1)

Commenti