Scoprite come Ultralytics collabora con Comet per l'ottimizzazione del modello Ultralytics YOLOv5 : tracciamento in tempo reale, collaborazione semplificata e riproducibilità migliorata.

Scoprite come Ultralytics collabora con Comet per l'ottimizzazione del modello Ultralytics YOLOv5 : tracciamento in tempo reale, collaborazione semplificata e riproducibilità migliorata.

In Ultralytics collaboriamo commercialmente con altre startup per aiutarci a finanziare la ricerca e lo sviluppo dei nostri fantastici strumenti open-source, come YOLOv5, per mantenerli gratuiti per tutti. Questo articolo può contenere link di affiliazione a tali partner.
Il nostro nuovo partner, Cometcostruisce strumenti che aiutano data scientist, ingegneri e team leader ad accelerare e ottimizzare l'apprendimento automatico e i modelli di deep learning.
Comet è uno strumento potente per tracciare i modelli, i set di dati e le metriche. Registra anche le variabili di sistema e di ambiente per garantire la riproducibilità e il debug di ogni singola esecuzione. È come avere un assistente virtuale che magicamente sa quali appunti prendere. Tracciate e visualizzate le metriche del modello in tempo reale, salvate gli iperparametri, i dataset e i checkpoint del modello e visualizzate le previsioni del modello con i pannelli personalizzati diComet !
Inoltre, Comet assicura che non si perda mai track del proprio lavoro e facilita la condivisione dei risultati e la collaborazione tra team di tutte le dimensioni!
YOLOv5 è un ottimo punto di partenza per il vostro viaggio nella computer vision. Per migliorare le prestazioni del modello e renderlo pronto per la produzione, è necessario registrare i risultati in uno strumento di monitoraggio degli esperimenti come Comet.
L'integrazione tra Comet e YOLOv5 offre 3 caratteristiche principali:
Questa guida spiega come utilizzare YOLOv5 con Comet.
Allora, siete pronti a track vostri esperimenti in tempo reale? Cominciamo!
Pip installare comet
Esistono due modi per configurare Comet con YOLOv5.
È possibile impostare le credenziali attraverso le variabili d'ambiente o creare un filecomet.config nella propria directory di lavoro e impostarvi le credenziali.
esportare COMET COMET# Questo sarà il valore predefinitoyolov5'.
[comet] api_key= project_name=<Your Comet API Key># This will default to 'yolov5'
# Addestrare YOLOv5s su COCO128 per 5 epochspython train.py --img 640 --batch 16 --epochs 5 --data coco128yaml --weights yolov5s.pt
Questo è tutto!
Comet registra automaticamente gli iperparametri, gli argomenti della riga di comando, le metriche di addestramento e di validazione. È possibile visualizzare e analizzare le esecuzioni nell'interfaccia utente di Comet .

Dai un'occhiata a un esempio di un'esecuzione completata qui.
O meglio ancora, provalo tu stesso in questo Colab Notebook.
Per impostazione predefinita, Comet registra i seguenti elementi:
Comet può essere configurato per registrare dati aggiuntivi attraverso i flag della riga di comando passati allo script di addestramento o alle variabili d'ambiente.
export COMET# Imposta se eseguire Comet in modalità 'online' o 'offline'. Il valore predefinito è onlineexport COMET#Impostare il nome del modello salvato. Il valore predefinito è yolov5export COMET# Impostare per disabilitare la registrazione della matrice di confusione Comet . L'impostazione predefinita è trueexport COMET# Controlla il numero totale di predizioni di immagini da registrare in Comet. L'impostazione predefinita è 100.export COMET# Imposta per registrare le metriche di valutazione per ogni classe rilevata alla fine dell'addestramento. L'impostazione predefinita è falseexport COMET# Impostare questo valore se si desidera riprendere l'allenamento da un checkpoint diverso. Il valore predefinito è 'last.pt'export COMET# Impostare questo valore se si desidera registrare le metriche dell'allenamento a livello di batch. L'impostazione predefinita è false.export COMET# Impostare questo valore su false per disabilitare la registrazione delle previsioni del modello.
La registrazione dei modelli in Comet è disabilitata per impostazione predefinita. Per attivarla, passare l'argomento save-period allo script di addestramento. In questo modo i checkpoint registrati verranno salvati in Comet in base al valore dell'intervallo fornito da save-period.
python train.py \
--img 640 \
--batch 16 \
--epochs 5 \
--data coco128yaml \
--weights yolov5s.pt \
--save-period 1
Per impostazione predefinita, le previsioni del modello (immagini, etichette di verità a terra e caselle di delimitazione) vengono registrate in Comet. È possibile controllare la frequenza delle previsioni registrate e delle immagini associate passando l'argomento bbox alla riga di comando. Le previsioni possono essere visualizzate utilizzando il pannello personalizzato Object Detection di Comet. Questa frequenza corrisponde a un batch di dati ogni N per epoca. Nell'esempio che segue, si registra ogni 2º batch di dati per ogni epoca.
Nota: il caricatore di dati di convalida di YOLOv5 ha come impostazione predefinita una dimensione di batch di 32, quindi è necessario impostare la frequenza di registrazione di conseguenza.
Ecco un progetto di esempio che utilizza il pannello.
python train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--pesi yolov5s.pt bbox 2
Quando si registrano le previsioni di YOLOv5, Comet registra le immagini associate a ciascun set di previsioni. Per impostazione predefinita, vengono registrate al massimo 100 immagini di convalida. È possibile aumentare o diminuire questo numero utilizzando la variabile d'ambiente COMET.
env COMET train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--pesi yolov5s.pt bbox 1
Utilizzare la variabile d'ambiente COMET per registrare mAP, precisione, richiamo e f1 per ciascuna classe.
env COMET python train.py \--img 640 \--batch 16 \--epochs 5 \--data coco128yaml \--weights yolov5s.pt
Se si desidera memorizzare i dati utilizzando gli artefattiComet , è possibile farlo utilizzando il flag upload_dataset.
Il dataset è organizzato nel modo descritto nella documentazione di YOLOv5 . Il file yaml di configurazione del dataset deve seguire lo stesso formato del file coco128yaml .
python train.py \--img 640 \--batch 16 \-epochs 5 \--data coco128yaml \--pesi yolov5s.pt \--upload_dataset
Il dataset caricato si trova nella scheda Artefatti dell'area di lavoro Comet

È possibile visualizzare l'anteprima dei dati direttamente nell'interfaccia utente di Comet .

Gli artefatti sono versionati e supportano anche l'aggiunta di metadati sul set di dati. Comet registrerà automaticamente i metadati dal file yaml del dataset.

Se si desidera utilizzare un set di dati da Comet Artifacts, impostare la variabile path nel file yaml del set di dati in modo che punti al seguente URL della risorsa Artifact.
# contenuto del file artifactyaml percorso:comet:///:"
Quindi, passare questo file allo script di training nel modo seguente:
python train.py \--img 640 \--batch 16 \-epochs 5 \--data artifactyaml \--weights yolov5s.pt
Gli artefatti consentono anche di track il percorso dei dati nel flusso di lavoro della sperimentazione. Qui è possibile vedere un grafico che mostra tutti gli esperimenti che hanno utilizzato il set di dati caricato.

Se la corsa di allenamento viene interrotta per qualsiasi motivo, ad esempio per un'interruzione della connessione a Internet, è possibile riprendere la corsa utilizzando il flag di ripresa e il Comet Run Path.
Il percorso di esecuzione ha il seguente formato comet:////.
Questa operazione ripristina la corsa allo stato precedente all'interruzione, che comprende il ripristino del modello da un checkpoint, il ripristino di tutti gli iperparametri e degli argomenti di addestramento e il download degli artefatti del set di dati Comet se sono stati utilizzati nella corsa originale. La corsa ripresa continuerà a registrare l'Esperimento esistente nell'interfaccia utente di Comet .
python train.py \--resumecomet://"
YOLOv5 è inoltre integrato con l'Optimizer di Comet, rendendo semplice la visualizzazione degli sweep degli iperparametri nell'interfaccia utente Comet .
Per configurare Comet Optimizer, è necessario creare un file JSON con le informazioni sullo sweep.
Un file di esempio è stato fornito in:
comet.json python comet.py comet"comet.json"
Lo script hpo.py accetta gli stessi argomenti di train.py. Se si desidera passare argomenti aggiuntivi al proprio sweep, è sufficiente aggiungerli dopo lo script.
python comet.py comet"comet.json" \--save-period 1 bbox 1
comet optimizer -j comet.py comet.json"
Comet offre molti modi per visualizzare i risultati dell'indagine. Date un'occhiata a un progetto con un'indagine completata qui:

Iniziate a utilizzare la nostra integrazione con Comet per gestire, visualizzare e ottimizzare i vostri modelli YOLOv5 , dai cicli di formazione al monitoraggio della produzione.
E, naturalmente, entrate a far parte della comunitàUltralytics , un luogo dove porre domande e condividere suggerimenti sulla formazione, la convalida e l'implementazione di YOLOv5 .