Migliorare l'addestramento di YOLO26: Semplifica il tuo processo di logging con Comet#
Registrare i dettagli chiave dell'addestramento come parametri, metriche, predizioni di immagini e checkpoint del modello è essenziale nel machine learning: mantiene il tuo progetto trasparente, i tuoi progressi misurabili e i tuoi risultati ripetibili.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 si integra perfettamente con Comet (precedentemente Comet ML), catturando e ottimizzando in modo efficiente ogni aspetto del processo di addestramento del tuo modello di object detection YOLO26. In questa guida tratteremo il processo di installazione, la configurazione di Comet, gli approfondimenti in tempo reale, la registrazione personalizzata e l'uso offline, assicurando che il tuo addestramento YOLO26 sia accuratamente documentato e ottimizzato per risultati eccezionali.
Comet#
Comet è una piattaforma per tracciare, confrontare, spiegare e ottimizzare modelli ed esperimenti di machine learning. Ti consente di registrare metriche, parametri, contenuti multimediali e altro ancora durante l'addestramento del modello e di monitorare i tuoi esperimenti tramite un'interfaccia web esteticamente gradevole. Comet aiuta i data scientist a effettuare iterazioni più rapidamente, migliora la trasparenza e la riproducibilità e supporta lo sviluppo di modelli di produzione.
Sfruttare la potenza di YOLO26 e Comet#
Combinando Ultralytics YOLO26 con Comet, sblocchi una serie di vantaggi. Questi includono una gestione semplificata degli esperimenti, approfondimenti in tempo reale per aggiustamenti rapidi, opzioni di logging flessibili e su misura, e la possibilità di registrare gli esperimenti offline quando l'accesso a internet è limitato. Questa integrazione ti consente di prendere decisioni basate sui dati, analizzare le metriche di performance e ottenere risultati eccezionali.
Installazione#
Per installare i pacchetti richiesti, esegui:
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvisionConfigurare Comet#
Dopo aver installato i pacchetti necessari, dovrai registrarti, ottenere una Comet API Key e configurarla.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYSuccessivamente, potrai inizializzare il tuo progetto Comet. Comet rileverà automaticamente la API key e procederà con la configurazione.
import comet_ml
comet_ml.login(project_name="comet-example-yolo26-coco128")Se stai utilizzando un notebook Google Colab, il codice sopra ti chiederà di inserire la tua API key per l'inizializzazione.
Utilizzo#
Prima di immergiti nelle istruzioni d'uso, assicurati di dare un'occhiata alla gamma di modelli YOLO26 offerti da Ultralytics. Questo ti aiuterà a scegliere il modello più adatto ai requisiti del tuo progetto.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train the model
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)Dopo aver eseguito il codice di addestramento, Comet 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 modello YOLO26.
Comet registra automaticamente i seguenti dati senza alcuna configurazione aggiuntiva: metriche come mAP e perdita, iperparametri, checkpoint del modello, matrice di confusione interattiva e predizioni di bounding box delle immagini.
Comprendere la performance del tuo modello con le visualizzazioni di Comet#
Immergiamoci in ciò che vedrai sulla dashboard di Comet una volta che il tuo modello YOLO26 inizierà l'addestramento. La dashboard è dove avviene tutto, presentando una gamma di informazioni registrate automaticamente attraverso grafici e statistiche. Ecco un breve tour:
Pannelli dell'esperimento
La sezione dei pannelli degli esperimenti della dashboard di Comet organizza e presenta le diverse esecuzioni e le relative metriche, come la perdita della maschera di segmentazione, la perdita di classe, la precisione e la mean average precision.
Metriche
Nella sezione delle metriche, hai anche l'opzione di esaminare le metriche in formato tabellare, che viene visualizzato in un riquadro dedicato come illustrato qui.
Confusion Matrix interattiva
La matrice di confusione, che si trova nella scheda Confusion Matrix, offre un modo interattivo per valutare la precisione di classificazione del modello. Dettaglia le predizioni corrette e errate, consentendoti di comprendere i punti di forza e di debolezza del modello.
Metriche di sistema
Comet registra le metriche di sistema per aiutare a identificare eventuali colli di bottiglia nel processo di addestramento. Include metriche come l'utilizzo della GPU, l'uso della memoria GPU, l'utilizzo della CPU e l'uso della RAM. Queste sono essenziali per monitorare l'efficienza nell'uso delle risorse durante l'addestramento del modello.
Personalizzare il logging di Comet#
Comet offre la flessibilità di personalizzare il suo comportamento di logging impostando variabili d'ambiente. Queste configurazioni ti permettono di adattare Comet alle tue esigenze e preferenze specifiche. Il callback di Ultralytics legge le seguenti variabili d'ambiente (impostale prima che inizi l'addestramento):
| Variabile d'ambiente | Predefinito | Descrizione |
|---|---|---|
COMET_START_ONLINE | 1 | Esegui l'esperimento in modalità online (1) o offline (0). |
COMET_PROJECT_NAME | args.project | Progetto dello spazio di lavoro Comet. Per impostazione predefinita, fa uso dell'argomento di addestramento YOLO project quando non è impostato. |
COMET_MODEL_NAME | Ultralytics | Nome registrato per l'artifact del modello registrato. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Numero totale di predizioni di immagini di validazione da registrare per esecuzione. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Registra le predizioni delle immagini ogni N-esimo batch di validazione. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | Attiva (true) o disattiva (false) la registrazione delle predizioni delle immagini. |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | Registra una matrice di confusione a ogni epoca di validazione. Una matrice finale viene sempre registrata alla fine dell'addestramento. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Moltiplicatore applicato ai punteggi di confidenza di rilevamento prima del logging (l'interfaccia utente di Comet si aspetta una scala percentuale). |
COMET_MODE (deprecato) | online | Alias legacy di COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Emette un avviso di deprecazione. |
Per i selettori booleani (COMET_EVAL_LOG_IMAGE_PREDICTIONS e COMET_EVAL_LOG_CONFUSION_MATRIX), i valori 1, true, yes, on, y e t vengono analizzati come True (senza distinzione tra maiuscole e minuscole). Qualsiasi altro valore viene considerato False.
Registrazione delle predizioni delle immagini#
Puoi controllare il numero di predizioni di immagini che Comet registra durante i tuoi esperimenti. Per impostazione predefinita, Comet registra 100 predizioni di immagini dal set di validazione. Tuttavia, puoi modificare questo numero per adattarlo meglio alle tue esigenze. Ad esempio, per registrare 200 predizioni di immagini, usa il seguente codice:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Per disabilitare completamente la registrazione delle predizioni delle immagini (ad esempio, per ridurre il volume di caricamento su connessioni lente), imposta COMET_EVAL_LOG_IMAGE_PREDICTIONS su "false":
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"Intervallo di logging dei batch#
Comet ti consente di specificare la frequenza con cui vengono registrati i batch di predizioni delle immagini. La variabile d'ambiente COMET_EVAL_BATCH_LOGGING_INTERVAL controlla questa frequenza. L'impostazione predefinita è 1, che registra le predizioni da ogni batch di validazione. Puoi regolare questo valore per registrare le predizioni a un intervallo diverso. Ad esempio, impostandolo su 4 verranno registrate le predizioni di ogni quarto batch.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Disabilitare il logging della matrice di confusione#
In alcuni casi, potresti non voler registrare la matrice di confusione dal tuo set di validazione dopo ogni epoch. Puoi disabilitare questa funzione impostando la variabile d'ambiente COMET_EVAL_LOG_CONFUSION_MATRIX su "false". La matrice di confusione verrà registrata una sola volta, al termine dell'addestramento.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Modalità online e offline#
Per impostazione predefinita, Comet viene eseguito in modalità online e trasmette i dati dell'esperimento ai server Comet. Se devi effettuare l'addestramento senza accesso a Internet, imposta COMET_START_ONLINE=0 prima che inizi l'addestramento. I dati dell'esperimento vengono salvati localmente e possono essere caricati in un secondo momento con la CLI comet upload.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (default) = online, 0 = offlineLe versioni precedenti utilizzavano COMET_MODE="offline" per questo scopo. La variabile è ancora supportata per la compatibilità con le versioni precedenti, ma emette un avviso di deprecazione. Usa COMET_START_ONLINE in futuro.
Nome del progetto#
Per impostazione predefinita, il callback di Comet passa l'argomento di addestramento YOLO project a Comet (o None quando l'argomento non è impostato, nel qual caso Comet utilizza il valore predefinito del tuo spazio di lavoro). Puoi sovrascriverlo con COMET_PROJECT_NAME per inviare tutti gli esperimenti a uno specifico progetto dello spazio di lavoro Comet indipendentemente dall'argomento di addestramento YOLO:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Nome dell'artifact del modello#
COMET_MODEL_NAME imposta il nome con cui Comet registra l'artefatto del modello registrato (per impostazione predefinita è Ultralytics). Usalo per differenziare le varianti del modello in uno spazio di lavoro condiviso:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Scalatura del punteggio di confidenza#
I punteggi di confidenza del rilevamento vengono emessi nell'intervallo [0, 1], ma l'interfaccia utente di Comet li mostra per impostazione predefinita su una scala percentuale. Il callback moltiplica ciascun punteggio per COMET_MAX_CONFIDENCE_SCORE (predefinito 100.0) prima della registrazione. Regola questo parametro se preferisci probabilità grezze o una scala diversa:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scoresRiepilogo#
Questa guida ti ha accompagnato nell'integrazione di Comet con lo YOLO26 di Ultralytics. Dall'installazione alla personalizzazione, hai imparato a snellire la gestione degli esperimenti, ottenere approfondimenti in tempo reale e adattare il logging alle esigenze del tuo progetto.
Esplora la documentazione ufficiale sull'integrazione di YOLOv8 con Comet, che si applica anche ai progetti YOLO26.
Inoltre, se desideri approfondire le applicazioni pratiche di YOLO26, in particolare per le attività di image segmentation, questa guida dettagliata sulla fine-tuning di YOLO26 con Comet offre spunti preziosi e istruzioni passo-passo per migliorare le prestazioni del tuo modello.
Inoltre, per esplorare altre interessanti integrazioni con Ultralytics, dai un'occhiata alla pagina della guida all'integrazione, che offre una ricchezza di risorse e informazioni.
FAQ#
Per integrare Comet con Ultralytics YOLO26, segui questi passaggi:
-
Installa i pacchetti necessari:
pip install ultralytics comet_ml torch torchvision -
Configura la tua API Key di Comet:
export COMET_API_KEY=YOUR_API_KEY -
Inizializza il tuo progetto Comet nel tuo codice Python:
import comet_ml comet_ml.login(project_name="comet-example-yolo26-coco128") -
Addestra il tuo modello YOLO26 e registra le metriche:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.train( data="coco8.yaml", project="comet-example-yolo26-coco128", batch=32, save_period=1, save_json=True, epochs=3, )
Per istruzioni più dettagliate, fai riferimento alla sezione configurazione di Comet.
-
Integrando Ultralytics YOLO26 con Comet, puoi:
- Monitorare approfondimenti in tempo reale: Ottieni un feedback istantaneo sui risultati del tuo addestramento, consentendo aggiustamenti rapidi.
- Registrare metriche estese: Cattura automaticamente metriche essenziali come mAP, loss, iperparametri e checkpoint del modello.
- Tracciare esperimenti offline: Registra le tue esecuzioni di addestramento localmente quando l'accesso a internet non è disponibile.
- Confrontare diverse esecuzioni di addestramento: Usa la dashboard interattiva di Comet per analizzare e confrontare esperimenti multipli.
Sfruttando queste funzionalità, puoi ottimizzare i tuoi flussi di lavoro di machine learning per ottenere prestazioni e riproducibilità migliori. Per ulteriori informazioni, visita la guida all'integrazione di Comet.
Comet consente un'ampia personalizzazione del suo comportamento di logging utilizzando le variabili d'ambiente:
-
Modifica il numero di predizioni di immagini registrate:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Regola l'intervallo di logging dei batch:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
Disabilita il logging della matrice di confusione:
import os os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false" -
Imposta il nome del progetto Comet:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
Imposta il nome dell'artifact del modello registrato:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
Vedi la sezione Personalizzazione della registrazione di Comet per l'elenco completo, inclusi i selettori di predizione delle immagini, la scalatura del punteggio di confidenza e la modalità online/offline.
-
Una volta che il tuo modello YOLO26 inizia l'addestramento, puoi accedere a una vasta gamma di metriche e visualizzazioni sulla dashboard di Comet. Le caratteristiche chiave includono:
- Pannelli degli esperimenti: visualizza le diverse esecuzioni e le relative metriche, tra cui la perdita della maschera di segmentazione, la perdita di classe e la precisione media.
- Metriche: Esamina le metriche in formato tabellare per un'analisi dettagliata.
- Matrice di confusione interattiva: Valuta l'accuratezza di 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 funzionalità, visita la sezione Comprendere le prestazioni del tuo modello con le visualizzazioni di Comet.
Sì. Imposta
COMET_START_ONLINE=0prima che inizi l'addestramento per registrare localmente:import os os.environ["COMET_START_ONLINE"] = "0"I dati dell'esperimento vengono salvati su disco e possono essere caricati su Comet in un secondo momento con la CLI
comet uploadquando è disponibile la connettività. La precedente variabileCOMET_MODE="offline"funziona ancora ma emette un avviso di deprecazione. Per maggiori dettagli, consulta la sezione Modalità online e offline.