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

Addestra e monitora Ultralytics YOLOv5 da remoto con ClearML

Scopri come monitorare gli esperimenti, gestire le versioni dei dataset, ottimizzare gli iperparametri e addestrare modelli Ultralytics YOLOv5 su macchine remote con ClearML.

Nuvola LadiNuvola Ladi6 min di lettura
Addestramento e monitoraggio di YOLOv5 con ClearML

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.

ClearML è il nostro partner più recente: una raccolta di strumenti open source progettata per farti risparmiare tempo.

Con la missione di accelerare l'adozione del ML, ClearML rende facile integrare il ML in qualsiasi prodotto software o hardware.

Questa integrazione semplifica ulteriormente l'addestramento di un modello YOLOv5 e l'uso del gestore degli esperimenti ClearML per tracciarlo automaticamente. Puoi specificare facilmente come input dei dati l'ID di una versione del dataset ClearML, che verrà utilizzata automaticamente per addestrare il modello.

Porta il monitoraggio dei tuoi esperimenti a un livello superiore#

  • Monitora ogni esecuzione di addestramento di YOLOv5 nel gestore degli esperimenti.
  • Crea versioni dei tuoi dati di addestramento personalizzati e accedivi facilmente con lo strumento integrato ClearML Data Versioning.
  • Ottieni il miglior mAP possibile con ClearML Hyperparameter Optimization.
  • Trasforma il modello YOLOv5 appena addestrato in un’API con pochi comandi usando ClearML Serving.

Sta a te decidere quanti di questi strumenti usare: puoi limitarti al gestore degli esperimenti oppure collegarli tutti in una pipeline completa.

Configurazione#

Per tenere traccia dei tuoi esperimenti e dei tuoi dati, ClearML deve comunicare con un server. Hai due possibilità: registrarti gratuitamente al servizio ClearML Hosted oppure configurare un server personale.

Anche il server è open source, quindi non ci sono problemi se lavori con dati sensibili!

  1. Installa il pacchetto ClearML per Python: pip install clearml
  2. Collega ClearML SDK al server creando le credenziali (in alto a destra, vai su Settings → Workspace → Create new credentials), poi esegui il comando seguente e segui le istruzioni: clearml-init

Ora puoi iniziare.

Addestrare YOLOv5 con ClearML#

Per attivare il tracciamento degli esperimenti ClearML, installa semplicemente il pacchetto pip ClearML.

pip install clearml

In questo modo si abilita l’integrazione con lo script di addestramento YOLOv5. Da questo momento, ogni esecuzione di addestramento verrà acquisita e archiviata dal gestore degli esperimenti ClearML. Se vuoi modificare project_name o task_name, vai al nostro logger personalizzato e cambiali: utils/loggers/clearml/clearml_utils.py

python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

Verranno acquisiti:

  • Codice sorgente + modifiche non sottoposte a commit
  • Pacchetti installati
  • (Iper)parametri
  • File del modello (usa --save-period n per salvare un checkpoint ogni n epoche)
  • Output della console
  • Scalari (mAP50, mAP50-95, precisione, richiamo, perdite, tassi di apprendimento, ...)
  • Informazioni generali come dettagli della macchina, runtime, data di creazione, ecc.
  • Tutti i grafici generati, come il correlogramma delle etichette e la matrice di confusione
  • Immagini con riquadri di delimitazione per epoca
  • Mosaico per epoca
  • Immagini di convalida per epoca

Ora possiamo visualizzare tutte queste informazioni nell'interfaccia utente di ClearML per avere una panoramica dei progressi dell'addestramento. Aggiungi colonne personalizzate alla visualizzazione tabellare (come mAP50) così puoi ordinare facilmente in base al modello con le prestazioni migliori. Oppure seleziona più esperimenti e confrontali direttamente!

Possiamo fare ancora di più con tutte queste informazioni, ad esempio ottimizzare gli iperparametri ed eseguire attività da remoto: continua a leggere per scoprire come!

Gestione delle versioni dei dataset#

In genere è una buona idea gestire le versioni dei dati separatamente dal codice; così è anche facile ottenere l'ultima versione. Questo repository permette di specificare l'ID di una versione del dataset e si assicura di scaricare i dati se non sono già presenti. Inoltre, questo flusso di lavoro salva l'ID del dataset utilizzato tra i parametri dell'attività, così saprai sempre con certezza quali dati sono stati usati in ciascun esperimento!

Prepara il tuo dataset#

Il repository YOLOv5 supporta diversi dataset tramite file YAML che ne contengono le informazioni. Per impostazione predefinita, i dataset vengono scaricati nella cartella ../datasets rispetto alla cartella radice del repository. Quindi, se hai scaricato il dataset COCO128 usando il link nel file YAML o gli script forniti da YOLOv5, ottieni questa struttura di cartelle:

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ LICENSE
        |_ README.txt

Puoi usare qualsiasi dataset. Sentiti libero di usare il tuo, purché mantenga questa struttura di cartelle.

Poi, copia il file YAML corrispondente nella cartella principale del dataset. Questi file YAML contengono le informazioni necessarie a ClearML per utilizzare correttamente il dataset. Naturalmente puoi anche crearne uno tu: basta seguire la struttura dei file YAML di esempio.

Il file YAML deve contenere le seguenti chiavi: path, train, test, val, nc e names.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ coco128.yaml # ← HERE!
        |_ LICENSE
        |_ README.txt

Carica il tuo dataset#

Per caricare questo dataset in ClearML come dataset con versione, vai nella cartella radice del dataset ed esegui il seguente comando:

cd coco128

clearml-data sync --project YOLOv5 --name coco128 --folder .

Il comando clearml-data sync è in realtà una scorciatoia. Puoi anche eseguire questi comandi uno dopo l'altro:

# Optionally add --parent if you want to base
# this version on another dataset version, so no duplicate files are uploaded!

clearml-data create --name coco128 --project YOLOv5

clearml-data add --files .

clearml-data close

Esegui l'addestramento usando un dataset ClearML#

Ora che hai un dataset ClearML, puoi usarlo per addestrare modelli YOLOv5 personalizzati.

python train.py --img 640 --batch 16 --epochs 3 --data clearml:// --weights yolov5s.pt --cache

Ottimizzazione degli iperparametri#

Ora che abbiamo i nostri esperimenti e la versione dei dati, è il momento di vedere cosa possiamo realizzare partendo da qui!

Con le informazioni sul codice, i pacchetti installati e i dettagli dell'ambiente, l'esperimento è ora completamente riproducibile. ClearML consente anche di clonare un esperimento e modificarne i parametri. Possiamo quindi rieseguirlo automaticamente con i nuovi parametri: in sostanza, è ciò che fa l'HPO.

Per eseguire localmente l'ottimizzazione degli iperparametri, abbiamo incluso uno script già pronto. Assicurati solo che un'attività di addestramento sia stata eseguita almeno una volta e sia presente nel gestore degli esperimenti ClearML; lo script la clona e modifica gli iperparametri.

Dovrai inserire l'ID dell'attività modello nello script disponibile in utils/loggers/clearml/hpo.py, poi eseguirlo. Puoi modificare task.execute_locally() in task.execute() per inserirlo in una coda ClearML e farlo eseguire da un agente remoto.

# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch
pip install optuna
python utils/loggers/clearml/hpo.py

Esecuzione remota (avanzata)#

Eseguire l'HPO localmente è molto comodo, ma cosa succede se vogliamo eseguire gli esperimenti su una macchina remota? Magari hai accesso a una GPU molto potente in sede oppure hai un budget da destinare alle GPU cloud. È qui che entra in gioco ClearML Agent.

Scopri qui cosa può fare l'agente:

In breve: ogni esperimento tracciato dal gestore degli esperimenti contiene informazioni sufficienti per riprodurlo su un'altra macchina (pacchetti installati, modifiche non sottoposte a commit, ecc.). ClearML Agent fa proprio questo: resta in ascolto di una coda in attesa di attività e, quando ne trova una, ricrea l'ambiente e la esegue, continuando a inviare valori scalari, grafici, ecc. al gestore degli esperimenti.

Puoi trasformare qualsiasi macchina (una VM cloud, una macchina locale con GPU o il tuo portatile) in un agente ClearML semplicemente eseguendo:

clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]

Clonazione, modifica e inserimento in coda#

Con l'agente in esecuzione, possiamo assegnargli del lavoro. Ricordi dalla sezione HPO che possiamo clonare un'attività e modificarne gli iperparametri? Possiamo farlo anche dall'interfaccia!

  1. Clona l'esperimento facendo clic con il tasto destro su di esso.
  2. Modifica gli iperparametri impostando i valori che vuoi.
  3. Aggiungi l'attività a una delle code facendo clic con il tasto destro su di essa.

Esecuzione remota di un'attività#

Ora puoi clonare un'attività come spiegato sopra oppure contrassegnare semplicemente lo script corrente aggiungendo task.execute_remotely(): quando lo eseguirai, verrà inserito in una coda, pronto per essere avviato dall'agente!

Per eseguire da remoto lo script di addestramento YOLOv5, ti basta aggiungere questa riga allo script train.py, dopo aver istanziato il logger ClearML:

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # istanza dei logger
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # <------ AGGIUNGI QUESTA RIGA

Hai domande? Unisciti alla nostra community e invia oggi stesso la tua domanda!

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