Addestramento di YOLO11 con ClearML: ottimizzazione del flusso di lavoro MLOps
MLOps colma il divario tra la creazione e la distribuzione di modelli di machine learning in contesti reali. Si concentra sull'implementazione efficiente, la scalabilità e la gestione continua per garantire che i modelli funzionino bene nelle applicazioni pratiche.
Ultralytics YOLO11 si integra facilmente con ClearML, semplificando e migliorando il training e la gestione del modello di object detection. Questa guida ti accompagnerà attraverso il processo di integrazione, illustrando come configurare ClearML, gestire gli esperimenti, automatizzare la gestione dei modelli e collaborare in modo efficace.
ClearML
ClearML è un'innovativa piattaforma MLOps open-source progettata abilmente per automatizzare, monitorare e orchestrare i flussi di lavoro di machine learning. Le sue caratteristiche principali includono la registrazione automatizzata di tutti i dati di addestramento e inferenza per la completa riproducibilità degli esperimenti, un'interfaccia utente web intuitiva per una facile visualizzazione e analisi dei dati, algoritmi avanzati di ottimizzazione degli iperparametri e una solida gestione dei modelli per un'implementazione efficiente su varie piattaforme.
Addestramento YOLO11 con ClearML
Puoi apportare automazione ed efficienza al tuo flusso di lavoro di machine learning migliorando il processo di training integrando YOLO11 con ClearML.
Installazione
Per installare i pacchetti richiesti, esegui:
Installazione
# Install the required packages for YOLO11 and ClearML
pip install ultralytics clearml
Per istruzioni dettagliate e best practice relative al processo di installazione, assicurati di consultare la nostra guida all'installazione di YOLO11. Durante l'installazione dei pacchetti richiesti per YOLO11, in caso di difficoltà, consulta la nostra guida ai problemi comuni per soluzioni e suggerimenti.
Configurazione di ClearML
Una volta installati i pacchetti necessari, il passo successivo è inizializzare e configurare il tuo ClearML SDK. Questo implica la configurazione del tuo account ClearML e l'ottenimento delle credenziali necessarie per una connessione senza interruzioni 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 ti richiede le credenziali necessarie.
Configurazione iniziale dell'SDK
# Initialize your ClearML SDK setup process
clearml-init
Dopo aver eseguito questo comando, visitare la pagina delle impostazioni di ClearML. Andare nell'angolo in alto a destra e selezionare "Settings". Andare alla sezione "Workspace" e fare clic su "Create new credentials". Utilizzare le credenziali fornite nel pop-up "Create Credentials" per completare la configurazione come indicato, a seconda che si stia configurando ClearML in un Jupyter Notebook o in un ambiente python locale.
Utilizzo
Prima di immergerti nelle istruzioni per l'uso, assicurati di controllare la gamma di modelli YOLO11 offerti da Ultralytics. Questo ti aiuterà a scegliere il modello più appropriato per le 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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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)
Comprensione del codice
Comprendiamo i passaggi illustrati nello snippet di codice di utilizzo sopra.
Passo 1: Creazione di un'Attività ClearML: Una nuova attività viene inizializzata in ClearML, specificando il tuo progetto e i nomi delle attività. Questa attività traccerà e gestirà il training del tuo modello.
Fase 2: Selezione del modello YOLO11: Il model_variant
variabile è impostata su 'yolo11n', uno dei modelli YOLO11. Questa variante viene quindi registrata in ClearML per il tracciamento.
Passo 3: Caricamento del Modello YOLO11: Il modello YOLO11 selezionato viene caricato utilizzando la classe YOLO di Ultralytics, preparandolo per il training.
Fase 4: Impostazione degli argomenti di addestramento: Argomenti chiave per l'addestramento come il dataset (coco8.yaml
) e il numero di epoche (16
) sono organizzati in un dizionario e collegati al task ClearML. Ciò consente il tracciamento e la potenziale modifica tramite l'interfaccia utente di ClearML. Per una comprensione dettagliata del processo di training del modello e delle best practice, fare riferimento al nostro Guida all'addestramento del modello YOLO11.
Fase 5: Avvio dell'addestramento del modello: L'addestramento del modello viene avviato con gli argomenti specificati. I risultati del processo di addestramento vengono acquisiti nel results
variabile.
Comprensione dell'output
Dopo aver eseguito lo snippet di codice di utilizzo sopra, puoi aspettarti il seguente output:
- Un messaggio di conferma che indica la creazione di una nuova attività ClearML, insieme al suo ID univoco.
- Un messaggio informativo sul codice dello script in fase di archiviazione, che indica che l'esecuzione del codice viene tracciata da ClearML.
- Un link URL alla pagina dei risultati di ClearML dove puoi monitorare l'avanzamento dell'addestramento e visualizzare i log dettagliati.
- Avanzamento del download per il modello YOLO11 e il dataset specificato, seguito da un riepilogo dell'architettura del modello e della configurazione di training.
- Messaggi di inizializzazione per vari componenti di training come TensorBoard, Precisione Mista Automatica (AMP) e preparazione del dataset.
- Infine, il processo di training inizia, con aggiornamenti sull'avanzamento man mano che il modello viene addestrato sul set di dati specificato. Per una comprensione approfondita delle metriche di performance utilizzate durante il training, leggi la nostra guida sulle metriche di performance.
Visualizzazione della pagina dei risultati di ClearML
Cliccando sul link URL alla pagina dei risultati di ClearML nell'output dello snippet di codice di utilizzo, è possibile accedere a una visione completa del processo di training del modello.
Caratteristiche principali della pagina dei risultati di ClearML
-
Monitoraggio delle metriche in tempo reale
- Traccia le metriche critiche come la perdita, l'accuratezza e i punteggi di convalida man mano che si verificano.
- Fornisce un feedback immediato per modifiche tempestive delle prestazioni del modello.
-
Confronto tra esperimenti
- Confronta diverse esecuzioni di training affiancate.
- Essenziale per la regolazione degli iperparametri e per identificare i modelli più efficaci.
-
Log e output dettagliati
- Accedi a log completi, rappresentazioni grafiche delle metriche e output della console.
- Acquisisci una comprensione più approfondita del comportamento del modello e della risoluzione dei problemi.
-
Monitoraggio dell'utilizzo delle risorse
- Monitora l'utilizzo delle risorse computazionali, tra cui CPU, GPU e memoria.
- Chiave per ottimizzare l'efficienza e i costi di addestramento.
-
Gestione degli artefatti del modello
- Visualizza, scarica e condividi artefatti del modello come modelli addestrati e checkpoint.
- Migliora la collaborazione e semplifica la distribuzione del modello e la condivisione.
Per una dimostrazione visiva dell'aspetto della pagina dei risultati di ClearML, guarda il video qui sotto:
Guarda: Integrazione MLOps di YOLO11 tramite ClearML
Funzionalità avanzate in ClearML
ClearML offre diverse funzionalità avanzate per migliorare la tua esperienza MLOps.
Esecuzione remota
La funzione di esecuzione remota di ClearML facilita la riproduzione e la manipolazione di esperimenti su macchine diverse. Registra dettagli essenziali come i pacchetti installati e le modifiche non sottoposte a commit. Quando un'attività viene accodata, il ClearML Agent la preleva, ricrea l'ambiente ed esegue l'esperimento, riportando risultati dettagliati.
La distribuzione di un agente ClearML è semplice e può essere eseguita su varie macchine utilizzando il seguente comando:
clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]
Questa configurazione è applicabile a VM cloud, GPU locali o laptop. I ClearML Autoscalers aiutano a gestire i carichi di lavoro cloud su piattaforme come AWS, GCP e Azure, automatizzando l'implementazione degli agenti e regolando le risorse in base al budget delle risorse.
Clonazione, Modifica e Accodamento
L'interfaccia intuitiva di ClearML consente di clonare, modificare e mettere in coda facilmente le attività. Gli utenti possono clonare un esperimento esistente, modificare i parametri o altri dettagli tramite l'interfaccia utente e mettere in coda l'attività 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.
Gestione delle versioni del dataset
ClearML offre anche potenti funzionalità di gestione delle versioni dei dataset che si integrano perfettamente con i flussi di lavoro di training di YOLO11. Questa funzionalità ti consente di:
- Versionare i set di dati separatamente dal codice
- Traccia quale versione del dataset è stata utilizzata per ogni esperimento
- Accedi e scarica facilmente l'ultima versione del dataset
Per preparare il tuo dataset per ClearML, segui questi passaggi:
- Organizza il tuo dataset con la struttura standard YOLO (immagini, etichette, ecc.)
- Copia il file YAML corrispondente nella root della cartella del tuo dataset
-
Carica il tuo dataset usando lo strumento ClearML Data:
cd your_dataset_folder clearml-data sync --project YOLOv11 --name your_dataset_name --folder .
Questo comando creerà un dataset versionato in ClearML che può essere referenziato nei tuoi script di training, garantendo riproducibilità e facile accesso ai tuoi dati.
Riepilogo
Questa guida ti ha condotto attraverso il processo di integrazione di ClearML con YOLO11 di Ultralytics. Coprendo tutto, dalla configurazione iniziale alla gestione avanzata dei modelli, hai scoperto come sfruttare ClearML per un addestramento efficiente, il tracciamento degli esperimenti e l'ottimizzazione del flusso di lavoro nei tuoi progetti di machine learning.
Per ulteriori dettagli sull'utilizzo, visitare la documentazione ufficiale di ClearML.
Inoltre, esplora ulteriori integrazioni e funzionalità di Ultralytics visitando la pagina della guida all'integrazione di Ultralytics, che è un tesoro di risorse e approfondimenti.
FAQ
Qual è il processo per integrare Ultralytics YOLO11 con ClearML?
L'integrazione di Ultralytics YOLO11 con ClearML prevede una serie di passaggi per semplificare il tuo flusso di lavoro MLOps. Innanzitutto, installa i pacchetti necessari:
pip install ultralytics clearml
Successivamente, inizializza l'SDK ClearML nel tuo ambiente usando:
clearml-init
Quindi, configura ClearML con le tue credenziali dalla pagina delle impostazioni di ClearML. Istruzioni dettagliate sull'intero processo di configurazione, inclusa la selezione del modello e le configurazioni di training, sono disponibili nella nostra guida al training del modello YOLO11.
Perché dovrei usare ClearML con Ultralytics YOLO11 per i miei progetti di machine learning?
L'utilizzo di ClearML con Ultralytics YOLO11 migliora i tuoi progetti di machine learning automatizzando il tracciamento degli esperimenti, semplificando i flussi di lavoro e consentendo una gestione robusta dei modelli. ClearML offre il tracciamento delle metriche in tempo reale, il monitoraggio dell'utilizzo delle risorse e un'interfaccia intuitiva per confrontare gli esperimenti. Queste funzionalità aiutano a ottimizzare le prestazioni del tuo modello e a rendere il processo di sviluppo più efficiente. Scopri di più sui vantaggi e sulle procedure nella nostra guida all'integrazione MLOps.
Come posso risolvere i problemi comuni durante l'integrazione di YOLO11 e ClearML?
Se riscontri problemi durante l'integrazione di YOLO11 con ClearML, consulta la nostra guida Problemi comuni per soluzioni e suggerimenti. I problemi tipici potrebbero includere errori di installazione del pacchetto, configurazione delle credenziali o problemi di configurazione. Questa guida fornisce istruzioni dettagliate per la risoluzione dei problemi comuni in modo efficiente.
Come posso impostare l'attività ClearML per l'addestramento del modello YOLO11?
La configurazione di un task ClearML per l'addestramento di YOLO11 prevede l'inizializzazione di un task, la selezione della variante del modello, il caricamento del modello, l'impostazione degli argomenti di addestramento e, infine, l'avvio dell'addestramento del modello. Ecco un esempio semplificato:
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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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)
Consulta la nostra guida all'utilizzo per un'analisi dettagliata di questi passaggi.
Dove posso visualizzare i risultati del mio addestramento YOLO11 in ClearML?
Dopo aver eseguito lo script di training YOLO11 con ClearML, è possibile visualizzare i risultati nella pagina dei risultati di ClearML. L'output includerà un link URL alla dashboard di ClearML, dove è possibile monitorare le metriche, confrontare gli esperimenti e monitorare l'utilizzo delle risorse. Per maggiori dettagli su come visualizzare e interpretare i risultati, consultare la nostra sezione su Visualizzazione della pagina dei risultati di ClearML.