Vai al contenuto

Elevating YOLOv8 Training: Semplificare il processo di registrazione con Comet ML

Registrare i dettagli chiave dell'addestramento, come i parametri, le metriche, le previsioni delle immagini e i checkpoint del modello, è essenziale nell'apprendimento automatico: mantiene il progetto trasparente, i progressi misurabili e i risultati ripetibili.

Ultralytics YOLOv8 si integra perfettamente con Comet ML, catturando e ottimizzando in modo efficiente ogni aspetto del processo di formazione del tuo YOLOv8 modello di rilevamento degli oggetti. In questa guida tratteremo il processo di installazione, la configurazione di Comet ML, gli approfondimenti in tempo reale, la registrazione personalizzata e l'utilizzo offline, assicurandoti che la tua formazione YOLOv8 sia accuratamente documentata e messa a punto per ottenere risultati eccezionali.

Comet ML

Comet Panoramica di ML

Comet ML è una piattaforma per monitorare, confrontare, spiegare e ottimizzare i modelli e gli esperimenti di apprendimento automatico. Ti permette di registrare metriche, parametri, media e altro ancora durante l'addestramento del modello e di monitorare gli esperimenti attraverso un'interfaccia web esteticamente gradevole. Comet ML aiuta i data scientist a iterare più rapidamente, migliora la trasparenza e la riproducibilità e aiuta lo sviluppo di modelli di produzione.

Sfruttare la potenza di YOLOv8 e Comet ML

Combinando Ultralytics YOLOv8 con Comet ML, puoi ottenere una serie di vantaggi. Questi includono una gestione semplificata degli esperimenti, approfondimenti in tempo reale per aggiustamenti rapidi, opzioni di registrazione flessibili e personalizzate e la possibilità di registrare gli esperimenti offline quando l'accesso a internet è limitato. Questa integrazione ti permette di prendere decisioni basate sui dati, di analizzare le metriche delle prestazioni e di ottenere risultati eccezionali.

Installazione

Per installare i pacchetti necessari, esegui:

Installazione

# Install the required packages for YOLOv8 and Comet ML
pip install ultralytics comet_ml torch torchvision

Configurazione di Comet ML

Dopo aver installato i pacchetti necessari, dovrai registrarti, ottenere una chiave APIComet e configurarla.

Configurazione di Comet ML

# Set your Comet Api Key
export COMET_API_KEY=<Your API Key>

Poi, puoi inizializzare il tuo progetto Comet . Comet rileverà automaticamente la chiave API e procederà con la configurazione.

import comet_ml

comet_ml.init(project_name="comet-example-yolov8-coco128")

Se stai usando un notebook Google Colab, il codice qui sopra ti chiederà di inserire la tua chiave API per l'inizializzazione.

Utilizzo

Prima di immergerti nelle istruzioni per l'uso, assicurati di dare un'occhiata alla gamma di modelli diYOLOv8 offerti da Ultralytics. Questo ti aiuterà a scegliere il modello più adatto alle esigenze del tuo progetto.

Utilizzo

from ultralytics import YOLO

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

# train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolov8-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

Dopo aver eseguito il codice di addestramento, Comet ML creerà un esperimento nel tuo spazio di lavoro Comet per tracciare automaticamente l'esecuzione. Ti verrà quindi fornito un link per visualizzare la registrazione dettagliata del processo di addestramento del tuo modelloYOLOv8 .

Comet registra automaticamente i seguenti dati senza alcuna configurazione aggiuntiva: metriche come mAP e perdita, iperparametri, punti di controllo del modello, matrice di confusione interattiva e previsioni del rettangolo di selezione dell'immagine.

Comprendi le prestazioni del tuo modello con le visualizzazioni di Comet ML

Immergiamoci in ciò che vedrai sul Comet Dashboard ML una volta che il tuo YOLOv8 inizia l'addestramento. La dashboard è il luogo in cui si svolge tutta l'azione, presentando una serie di informazioni registrate automaticamente attraverso immagini e statistiche. Ecco un breve tour:

Pannelli per esperimenti

La sezione dei pannelli degli esperimenti della dashboard di Comet ML organizza e presenta le diverse esecuzioni e le relative metriche, come la perdita della maschera del segmento, la perdita della classe, la precisione e la precisione media.

Comet Panoramica di ML

Metriche

Nella sezione delle metriche, hai la possibilità di esaminare le metriche anche in formato tabellare, visualizzate in un riquadro dedicato come illustrato qui.

Comet Panoramica di ML

Matrice di confusione interattiva

La matrice di confusione, che si trova nella scheda Matrice di confusione, fornisce un modo interattivo per valutare l'accuratezza della classificazione del modello. Essa riporta in dettaglio le previsioni corrette e quelle errate, permettendoti di capire i punti di forza e di debolezza del modello.

Comet Panoramica di ML

Metriche del sistema

Comet ML registra le metriche del sistema per aiutare a identificare eventuali colli di bottiglia nel processo di formazione. Include metriche come l'utilizzo di GPU , l'utilizzo della memoria di GPU , l'utilizzo di CPU e l'utilizzo della RAM. Questi dati sono essenziali per monitorare l'efficienza dell'uso delle risorse durante l'addestramento del modello.

Comet Panoramica di ML

Personalizzare la registrazione di Comet ML

Comet ML offre la flessibilità di personalizzare il suo comportamento di registrazione impostando delle variabili d'ambiente. Queste configurazioni ti permettono di adattare Comet ML alle tue specifiche esigenze e preferenze. Ecco alcune utili opzioni di personalizzazione:

Previsioni dell'immagine di registrazione

Puoi controllare il numero di previsioni di immagini che Comet ML registra durante i tuoi esperimenti. Per impostazione predefinita, Comet ML registra 100 previsioni di immagini dal set di validazione. Tuttavia, puoi modificare questo numero per adattarlo alle tue esigenze. Ad esempio, per registrare 200 previsioni di immagini, usa il seguente codice:

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

Intervallo di registrazione del batch

Comet ML ti permette di specificare la frequenza con cui vengono registrati i batch di predizioni delle immagini. Il COMET_EVAL_BATCH_LOGGING_INTERVAL controlla questa frequenza. L'impostazione predefinita è 1, che registra le previsioni di ogni lotto di convalida. Puoi regolare questo valore per registrare le previsioni a un intervallo diverso. Ad esempio, impostando 4 si registreranno le previsioni di ogni quarto lotto.

import os

os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"

Disabilitare la registrazione della matrice di confusione

In alcuni casi, potresti non voler registrare la matrice di confusione del tuo set di validazione dopo ogni epoca. Puoi disabilitare questa funzione impostando il parametro COMET_EVAL_LOG_CONFUSION_MATRIX a "false". La matrice di confusione verrà registrata solo una volta, al termine dell'addestramento.

import os

os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"

Registrazione offline

Se ti trovi in una situazione in cui l'accesso a internet è limitato, Comet ML offre un'opzione di registrazione offline. Puoi impostare l'opzione COMET_MODE per abilitare questa funzione. I dati dell'esperimento verranno salvati localmente in una directory che potrai caricare successivamente su Comet ML quando sarà disponibile la connessione a internet.

import os

os.environ["COMET_MODE"] = "offline"

Sommario

Questa guida ti ha guidato nell'integrazione di Comet ML con Ultralytics e YOLOv8. Dall'installazione alla personalizzazione, hai imparato a semplificare la gestione degli esperimenti, a ottenere informazioni in tempo reale e ad adattare la registrazione alle esigenze del tuo progetto.

Esplora la documentazione ufficiale diComet ML per ulteriori informazioni sull'integrazione con YOLOv8.

Inoltre, se vuoi approfondire le applicazioni pratiche di YOLOv8, in particolare per le attività di segmentazione delle immagini, questa guida dettagliata sulla messa a punto di YOLOv8 con Comet ML offre preziosi spunti e istruzioni passo-passo per migliorare le prestazioni del tuo modello.

Inoltre, per esplorare altre interessanti integrazioni con Ultralytics, consulta la pagina della guida all'integrazione, che offre una grande quantità di risorse e informazioni.

DOMANDE FREQUENTI

Come posso integrare Comet ML con Ultralytics YOLOv8 per la formazione?

Per integrare Comet ML con Ultralytics YOLOv8 , segui i seguenti passaggi:

  1. Installa i pacchetti necessari:

    pip install ultralytics comet_ml torch torchvision
    
  2. Imposta la tua chiave API Comet :

    export COMET_API_KEY=<Your API Key>
    
  3. Inizializza il progetto Comet nel codice Python :

    import comet_ml
    
    comet_ml.init(project_name="comet-example-yolov8-coco128")
    
  4. Addestra il tuo modello YOLOv8 e registra le metriche:

    from ultralytics import YOLO
    
    model = YOLO("yolov8n.pt")
    results = model.train(
        data="coco8.yaml", project="comet-example-yolov8-coco128", batch=32, save_period=1, save_json=True, epochs=3
    )
    

Per istruzioni più dettagliate, consulta la sezione dedicata alla configurazione diComet ML.

Quali sono i vantaggi dell'utilizzo di Comet ML con YOLOv8?

Integrando Ultralytics YOLOv8 con Comet ML, puoi:

  • Controlla le informazioni in tempo reale: Ottieni un feedback istantaneo sui risultati del tuo allenamento, consentendoti di apportare modifiche rapide.
  • Registra metriche complete: Acquisisci automaticamente metriche essenziali come mAP, perdita, iperparametri e checkpoint del modello.
  • Traccia gli esperimenti offline: Registra i tuoi allenamenti in locale quando l'accesso a internet non è disponibile.
  • Confronta diversi cicli di formazione: Usa la dashboard interattiva di Comet ML per analizzare e confrontare più esperimenti.

Sfruttando queste caratteristiche, puoi ottimizzare i tuoi flussi di lavoro di apprendimento automatico per ottenere migliori prestazioni e riproducibilità. Per maggiori informazioni, visita la guida all'integrazione diComet ML.

Come posso personalizzare il comportamento dei log di Comet ML durante l'addestramento di YOLOv8 ?

Comet ML consente un'ampia personalizzazione del suo comportamento di logging utilizzando le variabili d'ambiente:

  • Modifica il numero di previsioni di immagini registrate:

    import os
    
    os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"
    
  • Regola l'intervallo di registrazione del batch:

    import os
    
    os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"
    
  • Disattiva la registrazione della matrice di confusione:

    import os
    
    os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
    

Per ulteriori opzioni di personalizzazione, consulta la sezione Personalizzazione della registrazione di Comet ML.

Come posso visualizzare le metriche e le visualizzazioni dettagliate della mia formazione su YOLOv8 su Comet ML?

Una volta che il tuo modello YOLOv8 inizia l'addestramento, puoi accedere a un'ampia gamma di metriche e visualizzazioni sulla dashboard di Comet ML. Le caratteristiche principali includono:

  • Pannelli degli esperimenti: Visualizza le diverse esecuzioni e le relative metriche, tra cui la perdita della maschera del segmento, la perdita della classe e la precisione media.
  • Metriche: Esamina le metriche in formato tabellare per un'analisi dettagliata.
  • Matrice di confusione interattiva: Valuta l'accuratezza della classificazione con una matrice di confusione interattiva.
  • Metriche di sistema: Monitora l'utilizzo di GPU e CPU , l'uso della memoria e altre metriche di sistema.

Per una panoramica dettagliata di queste funzioni, visita la sezione Comprendere le prestazioni del tuo modello con le visualizzazioni di Comet ML.

Posso utilizzare Comet ML per la registrazione offline durante l'addestramento dei modelli di YOLOv8 ?

Sì, puoi abilitare la registrazione offline in Comet ML impostando il parametro COMET_MODE la variabile d'ambiente "offline":

import os

os.environ["COMET_MODE"] = "offline"

Questa funzione ti permette di registrare localmente i dati dei tuoi esperimenti, che potranno poi essere caricati su Comet ML quando sarà disponibile la connessione a internet. Questa funzione è particolarmente utile quando si lavora in ambienti con accesso limitato a internet. Per maggiori dettagli, consulta la sezione Registrazione offline.



Creato 2023-11-16, Aggiornato 2024-07-05
Autori: glenn-jocher (10), AyushExel (1), abirami-vina (1)

Commenti