Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Integrazioni

Come usare Ultralytics YOLOv5 con Comet

Scopri come Ultralytics collabora con Comet per ottimizzare i modelli Ultralytics YOLOv5: tracciamento in tempo reale, collaborazione semplificata e maggiore riproducibilità.

Nuvola LadiNuvola Ladi6 min di lettura
Monitoraggio dell'addestramento dei modelli Ultralytics YOLOv5 con Comet

Noi di Ultralytics collaboriamo a livello commerciale con altre startup per finanziare la ricerca e lo sviluppo dei nostri strumenti open source, come YOLOv5, e mantenerli gratuiti per tutti. Questo articolo potrebbe contenere link di affiliazione ai nostri partner.

Il nostro nuovo partner, Comet, sviluppa strumenti che aiutano data scientist, ingegneri e responsabili dei team ad accelerare e ottimizzare i modelli di machine learning e deep learning.

Comet è uno strumento potente per monitorare i tuoi modelli, dataset e metriche. Registra anche le variabili di sistema e dell'ambiente, garantendo riproducibilità e un debug agevole per ogni esecuzione. Monitora e visualizza le metriche dei modelli in tempo reale, salva gli iperparametri, i dataset e i checkpoint dei modelli e visualizza le previsioni del tuo modello con i pannelli personalizzati di Comet!

Inoltre, Comet ti aiuta a tenere traccia del tuo lavoro e semplifica la condivisione dei risultati e la collaborazione tra team di qualsiasi dimensione!

YOLOv5 è un ottimo punto di partenza per il tuo percorso nella visione artificiale. Per migliorare le prestazioni del modello e prepararlo per la produzione, dovrai registrare i risultati in uno strumento di monitoraggio degli esperimenti come Comet.

L'integrazione tra Comet e YOLOv5 offre 3 funzionalità principali:

  • Funzionalità di registrazione automatica e personalizzata
  • Salvataggio di dataset e modelli come artefatti per il debug e la riproducibilità
  • Organizzazione della visualizzazione con i pannelli personalizzati di Comet

Questa guida spiega come usare YOLOv5 con Comet.

Allora, sei pronto a monitorare i tuoi esperimenti in tempo reale? Iniziamo!

Per iniziare#

1. Installa Comet#

pip install comet_ml

2. Configura le credenziali di Comet#

Esistono due modi per configurare Comet con YOLOv5.

Puoi impostare le credenziali tramite variabili d’ambiente oppure creare un file .comet.config nella directory di lavoro e inserirvi le credenziali.

Variabili d’ambiente#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

File di configurazione di Comet#

[comet]
api_key=<Your API Key>
project_name=<Your Comet Project Name> # This will default to 'yolov5'

3. Esegui lo script di training#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

Ecco fatto!

Comet registrerà automaticamente gli iperparametri, gli argomenti della riga di comando, le metriche di training e quelle di convalida. Puoi visualizzare e analizzare le tue esecuzioni nell’interfaccia di Comet.

Esperimenti con YOLOv5 nella dashboard di Comet

Provalo tu stesso!#

Dai un'occhiata a un esempio di esecuzione completata.

O meglio ancora, provalo tu stesso nel notebook Colab di YOLOv5.

Registrazione automatica#

Per impostazione predefinita, Comet registra i seguenti elementi:

Metriche#

  • Box Loss, Object Loss e Classification Loss per i dati di training e convalida
  • Metriche mAP50, mAP50-95 per i dati di convalida
  • Precisione e richiamo per i dati di convalida

Parametri#

  • Iperparametri del modello
  • Tutti i parametri passati tramite le opzioni della riga di comando

Visualizzazioni#

  • Matrice di confusione delle previsioni del modello sui dati di convalida
  • Grafici delle curve PR e F1 per tutte le classi
  • Diagramma di correlazione delle etichette di classe

Configura la registrazione di Comet#

Puoi configurare Comet per registrare dati aggiuntivi tramite flag della riga di comando passati allo script di training o variabili d’ambiente.

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Registrazione dei checkpoint con Comet#

La registrazione dei modelli su Comet è disabilitata per impostazione predefinita. Per abilitarla, passa l’argomento save-period allo script di training. I checkpoint registrati verranno così salvati su Comet secondo l’intervallo specificato da save-period.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

Registrazione delle previsioni del modello#

Per impostazione predefinita, le previsioni del modello (immagini, etichette di ground truth e riquadri di delimitazione) vengono registrate su Comet. Puoi controllare la frequenza di registrazione delle previsioni e delle immagini associate passando l’argomento della riga di comando bbox_interval. Puoi visualizzare le previsioni con il pannello personalizzato di Comet per il rilevamento degli oggetti. Questa frequenza corrisponde a ogni N-esimo batch di dati per epoca. Nell’esempio seguente, registriamo un batch di dati ogni 2 per ciascuna epoca.

Nota: il data loader di convalida di YOLOv5 usa per impostazione predefinita una dimensione del batch pari a 32, quindi dovrai impostare di conseguenza la frequenza di registrazione.

Ecco un progetto di esempio che usa il pannello.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

Controllare il numero di immagini delle previsioni registrate su Comet#

Quando registra le previsioni di YOLOv5, Comet registra anche le immagini associate a ciascun gruppo di previsioni. Per impostazione predefinita, vengono registrate al massimo 100 immagini di convalida. Puoi aumentare o ridurre questo numero usando la variabile d’ambiente COMET_MAX_IMAGE_UPLOADS.

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

Registrazione delle metriche per classe#

Usa la variabile d'ambiente COMET_LOG_PER_CLASS_METRICS per registrare mAP, precisione, richiamo e F1 per ogni classe.

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Caricare un dataset negli artefatti di Comet#

Se vuoi archiviare i tuoi dati usando Comet Artifacts, puoi farlo tramite il flag upload_dataset.

Il dataset è organizzato secondo quanto descritto nella documentazione di YOLOv5. Il file YAML di configurazione del dataset deve seguire lo stesso formato del file coco128.yaml.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

Puoi trovare il dataset caricato nella scheda Artifacts del tuo Workspace Comet.

Scheda Artifacts di Comet, YOLOv5

Puoi visualizzare un'anteprima dei dati direttamente nell'interfaccia di Comet.

Anteprima dei dati in Comet, YOLOv5

Gli artefatti sono versionati e consentono anche di aggiungere metadati sul dataset. Comet registrerà automaticamente i metadati dal file YAML del dataset.

Registrazione dei metadati dal file YAML in Comet, YOLOv5

Usare un Artifact salvato#

Se vuoi usare un dataset dagli artefatti di Comet, imposta la variabile path nel file YAML del dataset in modo che punti al seguente URL della risorsa Artifact.

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

Quindi passa questo file allo script di training nel modo seguente:

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

Gli artefatti ti consentono anche di monitorare la provenienza dei dati man mano che attraversano il flusso di lavoro sperimentale. Qui puoi vedere un grafico che mostra tutti gli esperimenti che hanno utilizzato il dataset caricato.

Workflow di sperimentazione di Comet, YOLOv5

Riprendere un'esecuzione di training#

Se l'esecuzione del training viene interrotta per qualsiasi motivo, ad esempio per una connessione Internet instabile, puoi riprenderla usando il flag resume e il Comet Run Path.

Il Run Path ha il seguente formato comet://<your workspace name>/<your project name>/<experiment id>.

In questo modo l'esecuzione tornerà allo stato in cui si trovava prima dell'interruzione: verrà ripristinato il modello da un checkpoint, saranno ripristinati tutti gli iperparametri e gli argomenti di training e saranno scaricati gli Artifact del dataset Comet, se usati nell'esecuzione originale. L'esecuzione ripresa continuerà a registrare i dati nell'Experiment esistente nell'interfaccia di Comet.

python train.py \
  --resume "comet://<your run path>"

Ricerca degli iperparametri con Comet Optimizer#

YOLOv5 è integrato anche con Comet Optimizer, così puoi visualizzare facilmente le ricerche degli iperparametri nell'interfaccia di Comet.

Configurare una ricerca con Optimizer#

Per configurare Comet Optimizer, devi creare un file JSON con le informazioni sulla ricerca.

È disponibile un file di esempio in utils/loggers/comet/optimizer_config.json.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

Lo script hpo.py accetta gli stessi argomenti di train.py. Se vuoi passare altri argomenti alla sweep, aggiungili semplicemente dopo lo script.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

Eseguire una ricerca in parallelo#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

Comet offre molti modi per visualizzare i risultati della sweep. Dai un'occhiata a un progetto con una sweep completata:

Visualizzazione dei risultati della ricerca in Comet, YOLOv5

Restiamo in contatto#

Inizia a usare la nostra integrazione con Comet per gestire, visualizzare e ottimizzare i tuoi modelli YOLOv5, dalle esecuzioni di training al monitoraggio in produzione.

E, naturalmente, unisciti alla community Ultralytics, un luogo dove fare domande e condividere consigli sul training, la convalida e la distribuzione di YOLOv5.

Scritto da

Nuvola Ladi
Nuvola Ladi

Digital Content Manager · Ultralytics

Nuvola Ladi è Digital Content Manager presso Ultralytics, dove crea contenuti dedicati alla Vision AI e a Ultralytics YOLO e rappresenta l'azienda a eventi di settore come la PyTorch Conference 2025. Vive in Spagna e ha conseguito un master in Visual and Digital Media presso IE University. Prima di entrare in Ultralytics, ha ricoperto diversi ruoli presso organizzazioni tra cui XVA Gallery & Hotel e Rolex.

Commenti

Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning