Vai al contenuto

Formazione YOLOv8 con ClearML: semplificare il flusso di lavoro MLOps

MLOps colma il divario tra la creazione e la distribuzione di modelli di apprendimento automatico in contesti reali. Si concentra sulla distribuzione efficiente, sulla scalabilità e sulla gestione continua per garantire che i modelli funzionino bene nelle applicazioni pratiche.

Ultralytics YOLOv8 si integra facilmente con ClearML, semplificando e migliorando la formazione e la gestione del tuo modello di rilevamento degli oggetti. Questa guida ti guiderà attraverso il processo di integrazione, spiegandoti come configurare ClearML, gestire gli esperimenti, automatizzare la gestione del modello e collaborare in modo efficace.

ClearML

ClearML Panoramica

ClearML è un'innovativa piattaforma MLOps open-source sapientemente progettata per automatizzare, monitorare e orchestrare i flussi di lavoro di apprendimento automatico. Le sue caratteristiche principali includono la registrazione automatica di tutti i dati di addestramento e di inferenza per una completa riproducibilità dell'esperimento, un'interfaccia web intuitiva per una facile visualizzazione e analisi dei dati, algoritmi avanzati di ottimizzazione degli iperparametri e una solida gestione dei modelli per una distribuzione efficiente su varie piattaforme.

YOLOv8 Formazione con ClearML

Puoi automatizzare e rendere più efficiente il tuo flusso di lavoro di apprendimento automatico migliorando il processo di formazione integrando YOLOv8 con ClearML.

Installazione

Per installare i pacchetti necessari, esegui:

Installazione

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

Per istruzioni dettagliate e buone pratiche relative al processo di installazione, consulta la nostra Guida all'installazione diYOLOv8 . Durante l'installazione dei pacchetti necessari per YOLOv8, se dovessi incontrare delle difficoltà, consulta la nostra guida ai problemi comuni per trovare soluzioni e suggerimenti.

Configurazione ClearML

Una volta installati i pacchetti necessari, il passo successivo è quello di inizializzare e configurare l'SDK ClearML . Questo comporta la configurazione del tuo account ClearML e l'ottenimento delle credenziali necessarie per una connessione perfetta tra il tuo ambiente di sviluppo e il server ClearML .

Inizia inizializzando l'SDK ClearML nel tuo ambiente. Il comando "clearml-init" avvia il processo di configurazione e richiede le credenziali necessarie.

Configurazione iniziale dell'SDK

# Initialize your ClearML SDK setup process
clearml-init

Dopo aver eseguito questo comando, visita la pagina delle Impostazioni diClearML . Vai nell'angolo in alto a destra e seleziona "Impostazioni". Vai alla sezione "Spazio di lavoro" e clicca su "Crea nuove credenziali". Utilizza le credenziali fornite nel pop-up "Crea credenziali" per completare la configurazione come indicato, a seconda che tu stia configurando ClearML in un Jupyter Notebook o in un ambiente Python locale.

Utilizzo

Prima di immergerti nelle istruzioni per l'uso, assicurati di dare un'occhiata alla gamma di modelli diYOLOv8 offerti da Ultralytics. Questo ti aiuterà a scegliere il modello più adatto alle esigenze del tuo progetto.

Utilizzo

from clearml import Task
from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# Step 2: Selecting the YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLOv8 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

Capire il Codice

Vediamo i passaggi illustrati nel codice d'uso qui sopra.

Passo 1: Creare un'attività in ClearML : Un nuovo task viene inizializzato in ClearML, specificando i nomi del progetto e del task. Questo task terrà traccia e gestirà l'addestramento del tuo modello.

Passo 2: Selezione del modello YOLOv8: Il model_variant è impostato su 'yolov8n', uno dei modelli YOLOv8 . Questa variante viene quindi registrata in ClearML per essere tracciata.

Fase 3: Caricamento del modello YOLOv8 : Il modello YOLOv8 selezionato viene caricato utilizzando le classi Ultralytics'YOLO , preparandolo per la formazione.

Passo 4: Impostazione degli argomenti di formazione: Argomenti chiave per la formazione come il set di dati (coco8.yaml) e il numero di epoche (16) sono organizzati in un dizionario e collegati all'attività ClearML . In questo modo è possibile tracciare e modificare il modello tramite l'interfaccia utente di ClearML . Per una comprensione dettagliata del processo di formazione dei modelli e delle migliori pratiche, consulta il nostro sito web YOLOv8 Modello Guida alla formazione.

Passo 5: Iniziare la formazione del modello: La formazione del modello viene avviata con gli argomenti specificati. I risultati del processo di addestramento vengono acquisiti nel file results variabile.

Capire l'output

Eseguendo il frammento di codice di cui sopra, puoi aspettarti il seguente risultato:

  • Un messaggio di conferma che indica la creazione di una nuova attività ClearML , insieme al suo ID univoco.
  • Un messaggio informativo sul codice di script memorizzato, che indica che l'esecuzione del codice è tracciata da ClearML.
  • Un link URL alla pagina dei risultati di ClearML dove potrai monitorare i progressi dell'allenamento e visualizzare i registri dettagliati.
  • Scarica i progressi del modello YOLOv8 e del dataset specificato, seguiti da un riepilogo dell'architettura del modello e della configurazione dell'addestramento.
  • Messaggi di inizializzazione per vari componenti di addestramento come TensorBoard, Automatic Mixed Precision (AMP) e preparazione del dataset.
  • Infine, inizia il processo di addestramento, con aggiornamenti sui progressi man mano che il modello si addestra sul set di dati specificato. Per una comprensione approfondita delle metriche di prestazione utilizzate durante l'addestramento, leggi la nostra guida sulle metriche di prestazione.

Visualizzare la pagina dei risultati di ClearML

Cliccando sul link URL alla pagina dei risultati di ClearML nell'output dello snippet di codice d'uso, puoi accedere a una visione completa del processo di formazione del tuo modello.

Caratteristiche principali della pagina dei risultati di ClearML

  • Monitoraggio delle metriche in tempo reale

    • Tieni traccia delle metriche critiche come la perdita, l'accuratezza e i punteggi di convalida mentre si verificano.
    • Fornisce un feedback immediato per regolare tempestivamente le prestazioni del modello.
  • Esperimento a confronto

    • Confronta diversi allenamenti uno accanto all'altro.
    • Essenziale per la regolazione degli iperparametri e l'identificazione dei modelli più efficaci.
  • Log e output dettagliati

    • Accedi a log completi, rappresentazioni grafiche delle metriche e output della console.
    • Acquisire una comprensione più approfondita del comportamento dei modelli e della risoluzione dei problemi.
  • Monitoraggio dell'utilizzo delle risorse

    • Monitorare l'utilizzo delle risorse di calcolo, tra cui CPU, GPU e memoria.
    • La chiave per ottimizzare l'efficienza e i costi della formazione.
  • Gestione degli artefatti del modello

    • Visualizza, scarica e condividi gli artefatti del modello, come i modelli addestrati e i checkpoint.
    • Migliora la collaborazione e semplifica la distribuzione e la condivisione dei modelli.

Per vedere come si presenta la pagina dei risultati di ClearML , guarda il video qui sotto:



Guarda: YOLOv8 Integrazione di MLOps con ClearML

Funzioni avanzate in ClearML

ClearML offre diverse funzioni avanzate per migliorare la tua esperienza MLOps.

Esecuzione remota

ClearMLLa funzione di esecuzione remota di questo programma facilita la riproduzione e la manipolazione di esperimenti su macchine diverse. Registra dettagli essenziali come i pacchetti installati e le modifiche non impegnate. Quando viene richiesto un task, l'Agente ClearML lo preleva, ricrea l'ambiente ed esegue l'esperimento, riportando i risultati dettagliati.

La distribuzione di un agente ClearML è semplice e può essere effettuata su diversi computer utilizzando il seguente comando:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

Questa configurazione è applicabile a macchine virtuali nel cloud, GPU locali o laptop. ClearML Gli autoscaler aiutano a gestire i carichi di lavoro in cloud su piattaforme come AWS, GCP e Azure, automatizzando la distribuzione degli agenti e regolando le risorse in base al budget a disposizione.

Clonazione, modifica e inserimento di dati

ClearMLL'interfaccia facile da usare di questo software permette di clonare, modificare e mettere in attesa i compiti in modo semplice. Gli utenti possono clonare un esperimento esistente, modificare i parametri o altri dettagli attraverso l'interfaccia utente e mettere in coda il task per l'esecuzione. Questo processo semplificato garantisce che l'agente ClearML che esegue l'attività utilizzi configurazioni aggiornate, rendendolo ideale per la sperimentazione iterativa e la messa a punto del modello.


Clonare, modificare e mettere in attesa con ClearML

Sommario

Questa guida ti ha guidato attraverso il processo di integrazione di ClearML con Ultralytics'YOLOv8. Dalla configurazione iniziale alla gestione avanzata dei modelli, hai scoperto come sfruttare ClearML per una formazione efficiente, il monitoraggio degli esperimenti e l'ottimizzazione del flusso di lavoro nei tuoi progetti di apprendimento automatico.

Per ulteriori dettagli sull'utilizzo, visita la documentazione ufficiale diClearML.

Inoltre, puoi esplorare altre integrazioni e funzionalità di Ultralytics visitando la pagina della guida all'integrazione diUltralytics , che è un tesoro di risorse e approfondimenti.



Creato 2023-11-29, Aggiornato 2024-05-18
Autori: glenn-jocher (7), abirami-vina (1)

Commenti