Ultralytics YOLO27:
Integrazioni

Come utilizzare Ultralytics YOLOv5 con Comet

Scopri come Ultralytics collabora con Comet per l'ottimizzazione dei modelli Ultralytics YOLOv5: monitoraggio in tempo reale, collaborazione semplificata e maggiore riproducibilità.

NUNuvola Ladi6 min read
Monitoraggio dell'addestramento del modello Ultralytics YOLOv5 con Comet

Noi di Ultralytics collaboriamo commercialmente con altre startup per contribuire a finanziare la ricerca e lo sviluppo dei nostri straordinari strumenti open source, come YOLOv5, così da mantenerli gratuiti per tutti. Questo articolo può contenere link affiliati a tali partner.

Il nostro partner più recente, Comet, crea 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 per garantire la riproducibilità e un debug fluido di ogni esecuzione. È come avere un assistente virtuale che sa magicamente quali note conservare. Monitora e visualizza le metriche del modello in tempo reale, salva gli iperparametri, i dataset e i checkpoint del modello e visualizza le predizioni del modello con i Comet Custom Panels!

Inoltre, Comet fa in modo che tu non perda mai di vista il 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 computer vision. Per migliorare le prestazioni del tuo modello e renderlo pronto per la produzione, dovrai registrare i risultati in uno strumento di monitoraggio degli esperimenti come Comet.

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

  • Funzionalità di registrazione automatica e personalizzata
  • Salvataggio di dataset e modelli come artifact 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 impostarle al suo interno.

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

Tutto qui!

Comet registrerà automaticamente gli iperparametri, gli argomenti della riga di comando e le metriche di training e validazione. 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 qui.

O, ancora meglio, provalo tu stesso in questo Notebook Colab.

Registrazione automatica#

Per impostazione predefinita, Comet registrerà i seguenti elementi:

Metriche#

  • Box Loss, Object Loss e Classification Loss per i dati di training e validazione
  • Metriche mAP_0.5 e mAP_0.5:0.95 per i dati di validazione
  • Precision e Recall per i dati di validazione

Parametri#

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

Visualizzazioni#

  • Matrice di confusione delle predizioni del modello sui dati di validazione
  • Grafici delle curve PR e F1 per tutte le classi
  • Correlogramma delle etichette delle classi

Configura la registrazione con Comet#

Comet può essere configurato 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. In questo modo i checkpoint registrati verranno salvati su Comet in base all'intervallo indicato da save-period.

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

Registrazione delle predizioni del modello#

Per impostazione predefinita, le predizioni del modello (immagini, etichette di ground truth e riquadri di delimitazione) vengono registrate su Comet. Puoi controllare la frequenza delle predizioni registrate e delle immagini associate passando l'argomento della riga di comando bbox_interval. Le predizioni possono essere visualizzate usando il pannello personalizzato Object Detection di Comet. Questa frequenza corrisponde a ogni N-esimo batch di dati per epoca. Nell'esempio seguente registriamo ogni secondo batch di dati per ciascuna epoca.

Nota: il data loader di validazione di YOLOv5 utilizzerà 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 predizioni registrate su Comet#

Quando registra le predizioni da YOLOv5, Comet registrerà le immagini associate a ciascun insieme di predizioni. Per impostazione predefinita, viene registrato un massimo di 100 immagini di validazione. Puoi aumentare o diminuire 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 a livello di classe#

Usa la variabile d'ambiente COMET_LOG_PER_CLASS_METRICS per registrare mAP, precision, recall 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

Caricamento di un dataset negli artifact di Comet#

Se vuoi archiviare i tuoi dati usando gli artifact di Comet, puoi farlo usando 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 in anteprima i dati direttamente nell'interfaccia di Comet.

Anteprima dei dati in Comet, YOLOv5

Gli artifact sono sottoposti a versionamento e supportano anche l'aggiunta di 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 artifact 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 artifact ti consentono anche di monitorare la provenienza dei dati mentre attraversano il tuo flusso di lavoro di sperimentazione. Qui puoi vedere un grafico che mostra tutti gli esperimenti che hanno utilizzato il dataset caricato.

Flusso di lavoro di sperimentazione di Comet, YOLOv5

Riprendere un'esecuzione di training#

Se la tua esecuzione di training viene interrotta per qualsiasi motivo, ad esempio a causa di una connessione Internet interrotta, 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 verrà ripristinata allo stato precedente all'interruzione, incluso il ripristino del modello da un checkpoint, di tutti gli iperparametri e degli argomenti di training e il download degli artifact del dataset Comet, se utilizzati nell'esecuzione originale. L'esecuzione ripresa continuerà a registrare 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 Optimizer di Comet, semplificando la visualizzazione delle scansioni degli iperparametri nell'interfaccia di Comet.

Configurazione di una scansione di Optimizer#

Per configurare Comet Optimizer, dovrai creare un file JSON con le informazioni sulla scansione.

Un file di esempio è stato fornito 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 argomenti aggiuntivi alla scansione, 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 scansione 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 scansione. Dai un'occhiata a un progetto con una scansione completata qui:

Visualizzazione dei risultati della scansione in Comet, YOLOv5

Resta 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 di Ultralytics, un luogo dove porre domande e condividere suggerimenti sul training, la validazione e il deployment di YOLOv5.

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica abilita la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Computer vision nella logistica

Computer vision nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai 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 vision AI migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.
Scopri di più
Computer vision in agricoltura

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning