Potenzia il training di YOLO26: semplifica il processo di logging con Comet#
Registrare i dettagli chiave del training, come parametri, metriche, predizioni sulle immagini e checkpoint del modello, è essenziale nel machine learning: mantiene trasparente il progetto, misurabili i progressi e ripetibili i risultati.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 si integra perfettamente con Comet (in precedenza Comet ML), acquisendo e ottimizzando in modo efficiente ogni aspetto del processo di training del tuo modello YOLO26 di rilevamento degli oggetti. In questa guida illustreremo il processo di installazione, la configurazione di Comet, gli insight in tempo reale, il logging personalizzato e l'utilizzo offline, assicurandoti che il training di YOLO26 sia documentato e ottimizzato per ottenere risultati eccellenti.
Comet#
Comet è una piattaforma per monitorare, confrontare, spiegare e ottimizzare modelli ed esperimenti di machine learning. Ti consente di registrare metriche, parametri, contenuti multimediali e altro durante il training del modello e di monitorare gli esperimenti tramite un'interfaccia web esteticamente curata. Comet aiuta i data scientist a iterare più rapidamente, migliora la trasparenza e la riproducibilità e supporta lo sviluppo di modelli pronti per la produzione.
Sfruttare la potenza di YOLO26 e Comet#
Combinando Ultralytics YOLO26 con Comet, puoi usufruire di numerosi vantaggi. Tra questi rientrano una gestione semplificata degli esperimenti, insight in tempo reale per apportare modifiche rapide, opzioni di logging flessibili e personalizzate 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 delle prestazioni e ottenere risultati eccezionali.
Installazione#
Per installare i pacchetti richiesti, esegui:
# Install YOLO26 and Comet
pip install ultralytics comet_mlConfigurazione di Comet#
Dopo aver installato i pacchetti necessari, dovrai registrarti, ottenere una chiave API di Comet e configurarla.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYQuindi, esegui l'autenticazione con Comet. Il callback di Ultralytics crea l'esperimento e usa l'argomento di training YOLO project come nome del progetto Comet.
import comet_ml
comet_ml.login()Se utilizzi un notebook Google Colab, il codice precedente ti chiederà di inserire la chiave API per l'inizializzazione.
Utilizzo#
Prima di passare alle istruzioni per l'utilizzo, dai 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 training, Comet creerà automaticamente un esperimento nel tuo workspace Comet per monitorare l'esecuzione. Ti verrà quindi fornito un link per visualizzare il logging dettagliato del processo di training del tuo modello YOLO26.
Comet registra automaticamente i seguenti dati senza alcuna configurazione aggiuntiva: metriche come mAP e loss, iperparametri, checkpoint del modello, matrice di confusione interattiva e predizioni di riquadri delimitatori sulle immagini.
Comprendere le prestazioni del modello con le visualizzazioni di Comet#
Vediamo cosa apparirà nella dashboard di Comet quando il tuo modello YOLO26 inizierà il training. La dashboard è il centro operativo, dove viene presentata una serie di informazioni registrate automaticamente tramite elementi visivi e statistiche. Ecco una breve panoramica:
Pannelli degli esperimenti
La sezione dei pannelli degli esperimenti della dashboard di Comet organizza e presenta le diverse esecuzioni e le relative metriche, come la loss delle maschere dei segmenti, la loss delle classi, la precisione e la precisione media.
Metriche
Nella sezione delle metriche puoi anche esaminare le metriche in formato tabellare, visualizzato in un riquadro dedicato come illustrato qui.
Matrice di confusione interattiva
La matrice di confusione, disponibile nella scheda Matrice di confusione, offre un modo interattivo per valutare l'accuratezza della classificazione del modello. Mostra in dettaglio le predizioni corrette e quelle errate, consentendoti di comprendere i punti di forza e le debolezze del modello.
Metriche di sistema
Comet registra le metriche di sistema per aiutarti a identificare eventuali colli di bottiglia nel processo di training. Include metriche come l'utilizzo della GPU, l'utilizzo della memoria della GPU, l'utilizzo della CPU e l'utilizzo della RAM. Queste metriche sono essenziali per monitorare l'efficienza dell'uso delle risorse durante il training del modello.
Personalizzazione del logging di Comet#
Comet offre la flessibilità di personalizzare il comportamento del logging impostando variabili d'ambiente. Queste configurazioni ti consentono di adattare Comet alle tue esigenze e preferenze specifiche. Il callback di Ultralytics legge le seguenti variabili d'ambiente (impostale prima dell'inizio del training):
| 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 del workspace Comet. Se non impostato, utilizza l'argomento di training YOLO project. |
COMET_MODEL_NAME | Ultralytics | Nome registrato per l'artefatto del modello sottoposto a logging. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Numero totale di predizioni sulle immagini di validazione da registrare per esecuzione. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Registra le predizioni sulle immagini a ogni N-esimo batch di validazione. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | Attiva (true) o disattiva (false) il logging delle predizioni sulle immagini. |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | Registra una matrice di confusione a ogni epoca di validazione. Una matrice finale viene sempre registrata al termine del training. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Moltiplicatore applicato ai punteggi di confidenza del 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). Genera un avviso di deprecazione. |
Per gli switch booleani (COMET_EVAL_LOG_IMAGE_PREDICTIONS e COMET_EVAL_LOG_CONFUSION_MATRIX), i valori 1, true, yes, on, y e t vengono interpretati come True (senza distinzione tra maiuscole e minuscole). Qualsiasi altro valore viene interpretato come False.
Logging delle predizioni sulle immagini#
Puoi controllare il numero di predizioni sulle immagini che Comet registra durante gli esperimenti. Per impostazione predefinita, Comet registra 100 predizioni sulle immagini dal set di validazione. Tuttavia, puoi modificare questo numero in base alle tue esigenze. Ad esempio, per registrare 200 predizioni sulle immagini, utilizza il seguente codice:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Per disattivare completamente il logging delle predizioni sulle immagini (ad esempio, per ridurre il volume di upload sulle 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 sulle immagini. La variabile d'ambiente COMET_EVAL_BATCH_LOGGING_INTERVAL controlla questa frequenza. L'impostazione predefinita è 1, che registra le predizioni di ogni batch di validazione. Puoi modificare questo valore per registrare le predizioni a un intervallo diverso. Ad esempio, impostandolo su 4, le predizioni verranno registrate ogni quattro batch.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Disattivazione del logging della matrice di confusione#
In alcuni casi, potresti non voler registrare la matrice di confusione del set di validazione dopo ogni epoca. Puoi disattivare 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 del training.
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 degli esperimenti ai server di Comet. Se devi eseguire il training senza accesso a Internet, imposta COMET_START_ONLINE=0 prima dell'inizio del training. 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" a questo scopo. La variabile viene ancora supportata per garantire la compatibilità con le versioni precedenti, ma genera un avviso di deprecazione. D'ora in poi, utilizza COMET_START_ONLINE.
Nome del progetto#
Per impostazione predefinita, il callback di Comet passa a Comet l'argomento di training YOLO project (oppure None quando l'argomento non è impostato, nel qual caso Comet utilizza il valore predefinito del tuo workspace). Sostituiscilo con COMET_PROJECT_NAME per inviare tutti gli esperimenti a un progetto specifico del workspace Comet, indipendentemente dall'argomento di training YOLO:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Nome dell'artefatto del modello#
COMET_MODEL_NAME imposta il nome con cui Comet registra l'artefatto del modello sottoposto a logging (il valore predefinito è Ultralytics). Usalo per distinguere le varianti del modello in un workspace condiviso:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Ridimensionamento del punteggio di confidenza#
I punteggi di confidenza del rilevamento vengono emessi nell'intervallo [0, 1], ma l'interfaccia utente di Comet li visualizza per impostazione predefinita su una scala percentuale. Il callback moltiplica ogni punteggio per COMET_MAX_CONFIDENCE_SCORE (valore predefinito 100.0) prima del logging. Modifica questo valore 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 illustrato come integrare Comet con YOLO26 di Ultralytics. Dall'installazione alla personalizzazione, hai imparato a semplificare la gestione degli esperimenti, ottenere insight in tempo reale e adattare il logging alle esigenze del tuo progetto.
Consulta la documentazione ufficiale dell'integrazione di Comet con YOLOv8, applicabile anche ai progetti YOLO26.
Inoltre, se vuoi approfondire le applicazioni pratiche di YOLO26, in particolare per le attività di segmentazione delle immagini, questa guida dettagliata sul fine-tuning di YOLO26 con Comet offre insight preziosi e istruzioni dettagliate per migliorare le prestazioni del tuo modello.
Inoltre, per esplorare altre integrazioni interessanti con Ultralytics, consulta la pagina della guida alle integrazioni, che offre numerose risorse e informazioni.
FAQ#
Per integrare Comet con Ultralytics YOLO26, segui questi passaggi:
-
Installa i pacchetti necessari:
pip install ultralytics comet_ml -
Configura la tua chiave API di Comet:
export COMET_API_KEY=YOUR_API_KEY -
Esegui l'autenticazione con Comet nel tuo codice Python:
import comet_ml comet_ml.login() -
Esegui il training del 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, consulta la sezione sulla configurazione di Comet.
-
Integrando Ultralytics YOLO26 con Comet, puoi:
- Monitorare gli insight in tempo reale: ottieni un feedback immediato sui risultati del training, così da poter apportare modifiche rapide.
- Registrare metriche dettagliate: acquisisci automaticamente metriche essenziali come mAP, loss, iperparametri e checkpoint del modello.
- Monitorare gli esperimenti offline: registra localmente le esecuzioni del training quando l'accesso a Internet non è disponibile.
- Confrontare diverse esecuzioni del training: utilizza la dashboard interattiva di Comet per analizzare e confrontare più esperimenti.
Sfruttando queste funzionalità, puoi ottimizzare i workflow 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 comportamento del logging tramite variabili d'ambiente:
-
Modifica il numero di predizioni sulle immagini registrate:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Modifica l'intervallo di logging dei batch:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
Disattiva 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'artefatto del modello registrato:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
Consulta la sezione Personalizzazione del logging di Comet per l'elenco completo, che include gli switch delle predizioni sulle immagini, il ridimensionamento dei punteggi di confidenza e la modalità online/offline.
-
Quando il tuo modello YOLO26 inizia il training, puoi accedere a un'ampia gamma di metriche e visualizzazioni nella dashboard di Comet. Le funzionalità principali includono:
- Pannelli degli esperimenti: visualizza le diverse esecuzioni e le relative metriche, inclusa la loss delle maschere dei segmenti, la loss delle classi 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 della GPU e della CPU, l'utilizzo della memoria e altre metriche di sistema.
Per una panoramica dettagliata di queste funzionalità, visita la sezione Comprendere le prestazioni del modello con le visualizzazioni di Comet.
Sì. Imposta
COMET_START_ONLINE=0prima dell'inizio del training per registrare i dati localmente:import os os.environ["COMET_START_ONLINE"] = "0"I dati dell'esperimento vengono salvati sul disco e possono essere caricati successivamente su Comet con la CLI
comet uploadquando è disponibile la connettività. La precedente variabileCOMET_MODE="offline"continua a funzionare, ma genera un avviso di deprecazione. Per ulteriori informazioni, consulta la sezione Modalità online e offline.