Registra gli esperimenti Ultralytics YOLO usando l'integrazione MLflow
Scopri come l'integrazione di Ultralytics con MLflow registra metriche, parametri e artefatti delle sessioni di addestramento di YOLO, così puoi confrontare gli esperimenti e riprodurre i risultati.
Abirami Vina9 min di lettura
Puoi immaginare un progetto di visione artificiale come un puzzle. In sostanza, insegni alle macchine a comprendere i dati visivi assemblando i vari pezzi, come la raccolta di un dataset, l’addestramento di un modello e la sua implementazione. Quando tutto combacia, ottieni un sistema in grado di analizzare e interpretare efficacemente immagini e video.
Ma, proprio come in un vero puzzle, non tutte le fasi di un progetto di visione artificiale sono semplici. Attività come il monitoraggio degli esperimenti (tenere traccia delle impostazioni, delle configurazioni e dei dati) e la registrazione (raccogliere risultati e metriche delle prestazioni) possono richiedere molto tempo e impegno. Sebbene questi passaggi siano fondamentali per migliorare e perfezionare i modelli di visione artificiale, a volte possono diventare un collo di bottiglia.
È qui che entrano in gioco i modelli Ultralytics YOLO e la loro integrazione con MLflow. Modelli come Ultralytics YOLO11 supportano un’ampia gamma di attività di computer vision, tra cui il rilevamento degli oggetti, la segmentazione delle istanze e la classificazione delle immagini. Queste capacità consentono un’ampia gamma di applicazioni di computer vision. Potendo contare su integrazioni come quella con MLflow, gli ingegneri della computer vision possono concentrarsi sul modello invece di perdersi nei dettagli.
In particolare, l’integrazione con MLflow semplifica il processo registrando varie metriche, parametri e artefatti durante l’addestramento. In questo articolo esploreremo il funzionamento dell’integrazione con MLflow, i suoi vantaggi e come puoi utilizzarla per semplificare i flussi di lavoro Ultralytics YOLO.
Che cos’è MLflow?#
MLflow è una piattaforma open source, sviluppata da Databricks, progettata per semplificare e gestire l’intero ciclo di vita del machine learning. Comprende i processi di sviluppo, implementazione e manutenzione dei modelli di machine learning.
MLflow comprende i seguenti componenti principali:
- Monitoraggio degli esperimenti: questo componente si concentra sulla registrazione dei dettagli importanti, come le impostazioni del modello, i risultati e i file di ogni sessione di addestramento. Ti aiuta a confrontare i modelli, vedere come le modifiche influiscono sulle prestazioni e individuare il modello migliore.
- Registro dei modelli: è come un sistema di archiviazione per i tuoi modelli, che ti consente di tenere traccia delle diverse versioni e organizzarle in fasi come test, pre-produzione e produzione.
- Creazione dei pacchetti di progetto: MLflow semplifica la creazione di pacchetti per i tuoi progetti di machine learning, inclusi codice, impostazioni e strumenti necessari, così da poterli condividere e utilizzare in modo coerente tra team e ambienti diversi.
- Distribuzione dei modelli: MLflow offre strumenti per distribuire rapidamente i modelli addestrati su workstation o piattaforme cloud come AWS e Azure, rendendoli pronti per l’uso nel mondo reale.

Fig. 1 Componenti di MLflow.
I componenti di MLflow rendono il processo di machine learning più semplice e gestibile in modo più efficiente. Grazie a questa integrazione, Ultralytics consente di utilizzare la funzionalità di monitoraggio degli esperimenti di MLflow per registrare parametri, metriche e artefatti durante l’addestramento dei modelli YOLO. Semplifica il monitoraggio e il confronto tra diverse versioni dei modelli YOLO.
L'integrazione con MLflow semplifica l'addestramento#
Ora che abbiamo visto cos’è MLflow, esaminiamo i dettagli dell’integrazione con MLflow e le funzionalità che offre.
L'integrazione con MLflow è progettata per rendere il processo di addestramento più efficiente e organizzato, tracciando e registrando automaticamente gli aspetti importanti dei tuoi esperimenti di visione artificiale. Consente tre tipi principali di registrazione: metriche, parametri e artefatti.
Ecco un approfondimento su ciascun tipo di registrazione:
- Registrazione delle metriche: le metriche sono valori quantitativi che misurano le prestazioni del tuo modello durante l'addestramento. Per esempio, metriche come accuratezza, precisione, richiamo o perdita vengono tracciate al termine di ogni epoca (un passaggio completo attraverso il tuo dataset).
- Registrazione dei parametri: i parametri sono le impostazioni che definisci prima dell'inizio dell'addestramento del modello, come il tasso di apprendimento, la dimensione del batch (il numero di campioni elaborati in un passaggio di addestramento) e il numero di epoche. Questi parametri influiscono in modo significativo sul comportamento e sulle prestazioni del tuo modello.
- Registrazione degli artefatti: gli artefatti sono i risultati o i file generati durante l'addestramento. Includono file essenziali come i pesi del modello (i valori numerici appresi dal modello durante l'addestramento), i file di configurazione (che memorizzano le impostazioni di addestramento) e altri dati pertinenti.

Fig. 2. Funzionalità principali di registrazione dell'integrazione con MLflow. Immagine dell'autore.
Come funziona l'integrazione con MLflow#
Puoi consultare la documentazione di Ultralytics per le istruzioni dettagliate su come abilitare l'integrazione con MLflow. Una volta configurata, l'integrazione traccia e registra automaticamente i dettagli chiave dei tuoi esperimenti di addestramento, come illustrato sopra. In questo modo non dovrai più occuparti del tracciamento manuale e potrai concentrarti sul perfezionamento dei tuoi modelli.
Con l'integrazione con MLflow, tutte le tue sessioni di addestramento vengono archiviate in un unico posto, rendendo più semplice confrontare i risultati e valutare configurazioni diverse. Confrontando i risultati registrati, puoi individuare le configurazioni con le prestazioni migliori e usare queste informazioni per migliorare i tuoi modelli. Il tuo flusso di lavoro sarà così più efficiente, ben documentato e riproducibile.
In particolare, ogni sessione di addestramento viene organizzata in un esperimento, che funge da contenitore per più esecuzioni. All'interno di un esperimento puoi visualizzare tutte le esecuzioni associate, confrontarne le prestazioni fianco a fianco e analizzare le tendenze tra configurazioni diverse.
Per esempio, se stai testando vari tassi di apprendimento o dimensioni dei batch con Ultralytics YOLOv8, tutte le esecuzioni correlate vengono raggruppate nello stesso esperimento per semplificare il confronto e l'analisi, come mostrato di seguito.

Fig. 3. Puoi visualizzare gli esperimenti con l'integrazione con MLflow.
Al livello delle singole esecuzioni, MLflow fornisce informazioni dettagliate sulla specifica sessione di addestramento. Puoi visualizzare metriche come accuratezza, perdita e precisione nel corso delle epoche, controllare i parametri di addestramento utilizzati (per esempio, la dimensione del batch e il tasso di apprendimento) e accedere agli artefatti generati, come i pesi del modello e i file di configurazione. Questi dettagli sono archiviati in un formato organizzato, così puoi consultare o riprodurre facilmente qualsiasi esecuzione.
Scegliere l'integrazione con MLflow: perché si distingue#
Mentre consulti la documentazione di Ultralytics ed esplori le integrazioni disponibili, potresti chiederti: cosa distingue l'integrazione con MLflow e perché dovresti sceglierla per il tuo flusso di lavoro?
Con integrazioni come TensorBoard, che offrono anch'esse strumenti per tracciare le metriche e visualizzare i risultati, è importante capire quali caratteristiche rendono unica l'integrazione con MLflow.
Ecco perché MLflow potrebbe essere la scelta ideale per i tuoi progetti YOLO:
- Interfaccia intuitiva: la dashboard di MLflow semplifica la visualizzazione degli esperimenti, il confronto delle esecuzioni e l'analisi dei risultati, aiutandoti a individuare rapidamente le configurazioni con le prestazioni migliori.
- Registrazione di metriche personalizzate: chi lavora nella visione artificiale può registrare metriche personalizzate oltre a quelle standard, consentendo analisi più approfondite e specifiche per le esigenze del progetto.
- Supporto per flussi di lavoro multilinguaggio: MLflow è compatibile con diversi linguaggi di programmazione, tra cui Python, R e Java, e facilita l'integrazione in pipeline di machine learning eterogenee.
Applicazioni pratiche di Ultralytics YOLO11 e dell'integrazione con MLflow#
Per capire meglio quando puoi usare l'integrazione con MLflow, considera un'applicazione di AI in ambito sanitario in cui devi addestrare Ultralytics YOLO11 a rilevare tumori in immagini radiografiche o di TAC.
In uno scenario del genere, il dataset sarebbe composto da immagini mediche annotate. Dovresti sperimentare diverse configurazioni, per esempio modificando i tassi di apprendimento, le dimensioni dei batch e le tecniche di preelaborazione delle immagini, per ottenere un'accuratezza ottimale. Poiché in ambito sanitario la posta in gioco è alta e precisione e affidabilità sono fondamentali, tenere traccia manualmente di ogni esperimento può diventare rapidamente ingestibile.

Fig. 4. Rilevamento di tumori con Ultralytics YOLO11.
L'integrazione con MLflow affronta questa sfida registrando automaticamente i parametri, le metriche e gli artefatti di ogni esperimento. Per esempio, se modifichi il tasso di apprendimento o applichi una nuova strategia di data augmentation, MLflow registra queste modifiche insieme alle metriche delle prestazioni. Inoltre, MLflow salva i pesi e le configurazioni dei modelli addestrati, garantendo che i modelli efficaci possano essere riprodotti e distribuiti facilmente.
Questo è solo un esempio di come l'integrazione con MLflow migliori la gestione degli esperimenti nelle applicazioni di AI per la visione. Le stesse funzionalità si applicano ad altre applicazioni di visione artificiale, tra cui:
- Guida autonoma: Ultralytics YOLO11 può essere usato per rilevare e classificare in tempo reale pedoni, veicoli e segnali stradali, migliorando la sicurezza e l'efficienza dei sistemi di guida autonoma.
- Analisi per il commercio al dettaglio: i modelli di rilevamento degli oggetti possono monitorare il comportamento dei clienti, tracciare la disposizione dei prodotti e ottimizzare le scorte analizzando l'attività in negozio attraverso flussi video.
- Sicurezza e sorveglianza: i modelli possono essere addestrati per rilevare anomalie o monitorare in tempo reale l'attività in aree sensibili, rafforzando la sicurezza.
Vantaggi dell'integrazione con MLflow#
L'integrazione di MLflow con i modelli YOLO semplifica e rende più efficiente la gestione degli esperimenti di machine learning. Automatizzando le attività chiave e mantenendo tutto in ordine, ti permette di concentrarti sulla creazione e sul miglioramento dei tuoi modelli. Ecco i principali vantaggi:
- Adatta a progetti di grandi dimensioni: la piattaforma gestisce in modo efficiente più esperimenti e modelli, risultando adatta a team numerosi e flussi di lavoro complessi.
- Cronologia dettagliata degli esperimenti: la piattaforma conserva la cronologia completa degli esperimenti, permettendoti di rivedere le esecuzioni passate, analizzare le configurazioni precedenti e imparare dai risultati ottenuti.
- Opzioni per disattivare e ripristinare: la registrazione di MLflow può essere disattivata facilmente quando non serve e le impostazioni possono essere ripristinate ai valori predefiniti, offrendo la flessibilità necessaria per adattarsi alle diverse esigenze del flusso di lavoro.
Punti chiave#
L'integrazione con MLflow semplifica e rende più efficiente la gestione e l'ottimizzazione degli esperimenti di Ultralytics YOLO. Tracciando automaticamente i dettagli chiave, come parametri, metriche e artefatti, semplifica il processo ed elimina la seccatura della gestione manuale degli esperimenti.
Che tu stia lavorando a soluzioni sanitarie come il rilevamento dei tumori, migliorando i sistemi di guida autonoma o potenziando l'analisi per il commercio al dettaglio, questa integrazione ti aiuta a mantenere tutto organizzato e riproducibile. Grazie all'interfaccia intuitiva e alla flessibilità, MLflow permette agli sviluppatori di concentrarsi sulla creazione di modelli migliori e sull'innovazione nelle applicazioni di AI per la visione.
Unisciti alla nostra community e dai un'occhiata al nostro repository GitHub per saperne di più sull'AI. Puoi anche esplorare altre applicazioni della visione artificiale nella produzione o dell'AI nelle auto a guida autonoma nelle nostre pagine dedicate alle soluzioni.
Scritto da
Commenti
Fai una domanda, condividi i tuoi risultati o aiuta qualcun altro.










