Registra gli esperimenti Ultralytics YOLO usando l'integrazione MLflow
Esplora come l'integrazione e il logging con MLflow possono elevare i tuoi esperimenti con Ultralytics YOLO, consentendo un tracciamento superiore per le applicazioni di computer vision.

Puoi pensare a un progetto di computer vision come a un puzzle. Essenzialmente, insegni alle macchine a comprendere i dati visivi assemblando i pezzi del puzzle, come la raccolta di un dataset, l'addestramento di un modello e il suo deployment. Quando tutto si incastra, ottieni un sistema in grado di analizzare e interpretare efficacemente immagini e video.
Ma, proprio come un vero puzzle, non tutte le parti di un progetto di computer vision sono semplici. Attività come il tracking degli esperimenti (tenere traccia di impostazioni, configurazioni e dati) e il logging (catturare risultati e metriche di performance) possono richiedere molto tempo e fatica. Sebbene questi passaggi siano fondamentali per migliorare e perfezionare i tuoi modelli di computer vision, a volte possono sembrare 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 object detection, instance segmentation e image classification. Queste funzionalità consentono la creazione di interessanti applicazioni di computer vision. Avere la possibilità di affidarsi a integrazioni come quella con MLflow permette agli ingegneri di visione di concentrarsi sul modello stesso, anziché perdersi nei dettagli.
In particolare, l'integrazione con MLflow semplifica il processo registrando varie metriche, parametri e artefatti durante tutto il processo di addestramento. In questo articolo, esploreremo come funziona l'integrazione con MLflow, i suoi vantaggi e come puoi utilizzarla per ottimizzare i tuoi flussi di lavoro con Ultralytics YOLO.
Link to this sectionCos'è MLflow?#
MLflow è una piattaforma open-source (sviluppata da Databricks) progettata per ottimizzare e gestire l'intero ciclo di vita del machine learning. Comprende il processo di sviluppo, deployment e manutenzione dei modelli di machine learning.
MLflow include i seguenti componenti chiave:
- Experiment tracking: questo componente si concentra sulla registrazione di dettagli importanti come le impostazioni del modello, i risultati e i file per ogni esecuzione di addestramento. Ti aiuta a confrontare i modelli, vedere come le modifiche influenzano le performance e trovare il migliore.
- Model registry: è come un sistema di archiviazione per i tuoi modelli, dove puoi tenere traccia delle diverse versioni e organizzarle per fasi come test, staging e produzione.
- Project packaging: MLflow facilita l'impacchettamento dei tuoi progetti di machine learning, inclusi codice, impostazioni e strumenti necessari, in modo che possano essere condivisi e utilizzati in modo coerente tra team e ambienti.
- Model deployment: MLflow fornisce strumenti per distribuire rapidamente i tuoi modelli addestrati in ambienti come 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ù facile ed efficiente da gestire. Attraverso questa integrazione, Ultralytics rende possibile l'utilizzo della funzionalità di experiment tracking di MLflow per registrare parametri, metriche e artefatti durante l'addestramento dei modelli YOLO. Rende semplice tracciare e confrontare diverse versioni dei modelli YOLO.
Link to this sectionL'integrazione con MLflow semplifica l'addestramento#
Ora che abbiamo visto cos'è MLflow, entriamo nei dettagli dell'integrazione MLflow e delle 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 computer vision. Facilita tre tipi principali di logging: metriche, parametri e artefatti.
Ecco un approfondimento su ciascun tipo di logging:
- Metrics logging: le metriche sono valori quantitativi che misurano le performance del tuo modello durante l'addestramento. Ad esempio, metriche come accuracy, precision, recall o loss vengono tracciate alla fine di ogni epoca (un passaggio completo attraverso il tuo dataset).
- Parameter logging: i parametri sono le impostazioni che definisci prima dell'inizio dell'addestramento del modello, come learning rate, batch size (il numero di campioni elaborati in un singolo passaggio di addestramento) e il numero di epoche. Questi parametri influenzano significativamente il comportamento e le performance del tuo modello.
- Artifacts logging: gli artefatti sono gli output o i file generati durante l'addestramento. Questo include file essenziali come i pesi del modello (i valori numerici che il tuo modello apprende durante l'addestramento), i file di configurazione (che memorizzano le impostazioni di addestramento) e altri dati rilevanti.

Fig 2. Funzionalità di logging chiave dell'integrazione MLflow. Immagine dell'autore.
Link to this sectionCome funziona l'integrazione MLflow#
Puoi esplorare la documentazione di Ultralytics per istruzioni passo dopo passo sull'abilitazione dell'integrazione MLflow. Una volta configurata, l'integrazione traccia e registra automaticamente i dettagli chiave dei tuoi esperimenti di addestramento, come discusso sopra. Questo elimina la necessità di un tracking manuale e ti aiuta a rimanere concentrato sul perfezionamento dei tuoi modelli.
Con l'integrazione MLflow, tutte le tue esecuzioni di addestramento vengono archiviate in un unico posto, rendendo più facile confrontare i risultati e valutare diverse configurazioni. Confrontando i risultati registrati, puoi identificare le configurazioni con le performance migliori e utilizzare tali approfondimenti per migliorare i tuoi modelli. Ciò garantisce che il tuo flusso di lavoro sia più efficiente, ben documentato e riproducibile.
Nello specifico, ogni sessione di addestramento è organizzata in un esperimento, che funge da contenitore per più esecuzioni. All'interno di un esperimento, puoi visualizzare tutte le esecuzioni associate, confrontare le loro performance fianco a fianco e analizzare le tendenze tra diverse configurazioni.
Ad esempio, se stai testando vari learning rate o batch size con Ultralytics YOLOv8, tutte le esecuzioni correlate vengono raggruppate sotto lo stesso esperimento per una facile comparazione e analisi, come mostrato di seguito.

Fig 3. Puoi visualizzare gli esperimenti utilizzando l'integrazione MLflow.
Nel frattempo, a livello di singola esecuzione, MLflow fornisce approfondimenti dettagliati sulla specifica sessione di addestramento. Puoi visualizzare metriche come accuracy, loss e precision nel corso delle epoche, controllare i parametri di addestramento utilizzati (ad esempio, batch size e learning rate) e accedere agli artefatti generati come i pesi del modello e i file di configurazione. Questi dettagli sono archiviati in un formato organizzato, rendendo semplice rivisitare o riprodurre qualsiasi esecuzione.
Link to this sectionScegliere l'integrazione MLflow: perché si distingue#
Mentre consulti la documentazione di Ultralytics ed esplori le integrazioni disponibili, potresti chiederti: cosa distingue l'integrazione MLflow e perché dovrei sceglierla per il mio flusso di lavoro?
Con integrazioni come TensorBoard, che forniscono anch'esse strumenti per il tracking delle metriche e la visualizzazione dei risultati, è importante comprendere le qualità uniche che fanno risaltare l'integrazione MLflow.
Ecco perché MLflow potrebbe essere la scelta ideale per i tuoi progetti YOLO:
- Interfaccia user-friendly: la dashboard di MLflow rende facile visualizzare gli esperimenti, confrontare le esecuzioni e analizzare i risultati, aiutandoti a identificare rapidamente le configurazioni con le performance migliori.
- Logging di metriche personalizzate: gli ingegneri di visione possono registrare metriche personalizzate oltre a quelle standard, consentendo un'analisi più approfondita specifica per le esigenze del loro progetto.
- Supporto per flussi di lavoro multilingua: MLflow è compatibile con diversi linguaggi di programmazione, inclusi Python, R e Java, facilitando l'integrazione in svariate pipeline di machine learning.
Link to this sectionApplicazioni pratiche di YOLO11 e dell'integrazione MLflow#
Per ottenere una comprensione più completa di quando utilizzare l'integrazione MLflow, consideriamo un'applicazione di IA nell'assistenza sanitaria in cui è necessario addestrare YOLO11 per rilevare tumori in immagini di radiografie o scansioni TC.
In uno scenario del genere, il dataset sarebbe costituito da immagini mediche annotate. Dovresti sperimentare con varie configurazioni, come la regolazione dei learning rate, delle batch size e delle tecniche di pre-elaborazione delle immagini, per ottenere un'accuratezza ottimale. Poiché la posta in gioco è alta nel settore sanitario e la precisione e l'affidabilità sono fondamentali, tracciare ogni esperimento manualmente può diventare rapidamente ingestibile.

Fig 4. Rilevamento di tumori utilizzando Ultralytics YOLO11.
L'integrazione con MLflow affronta questa sfida registrando automaticamente i parametri, le metriche e gli artefatti di ogni esperimento. Ad esempio, se modifichi il learning rate o applichi una nuova strategia di aumentazione, MLflow registra questi cambiamenti insieme alle metriche di performance. Inoltre, MLflow salva i pesi e le configurazioni dei modelli addestrati, garantendo che i modelli di successo possano essere facilmente riprodotti e distribuiti.
Questo è solo un esempio di come l'integrazione con MLflow migliori la gestione degli esperimenti nelle applicazioni di visione artificiale. Le stesse funzionalità si applicano ad altre applicazioni di computer vision, tra cui:
- Guida autonoma: YOLO11 può essere utilizzato per rilevare e classificare pedoni, veicoli e segnali stradali in tempo reale per migliorare la sicurezza e l'efficienza dei sistemi di guida autonoma.
- Retail analytics: i modelli di object detection possono monitorare il comportamento dei clienti, tracciare il posizionamento dei prodotti e ottimizzare l'inventario analizzando l'attività nei negozi tramite feed video.
- Sicurezza e sorveglianza: i modelli possono essere addestrati per rilevare anomalie o monitorare attività in tempo reale in aree sensibili per una maggiore sicurezza.
Link to this sectionVantaggi dell'integrazione con MLflow#
L'integrazione di MLflow con i modelli YOLO rende la gestione degli esperimenti di machine learning più facile ed efficiente. Automatizzando le attività chiave e mantenendo tutto organizzato, ti permette di concentrarti sulla costruzione e sul miglioramento dei tuoi modelli. Ecco uno sguardo ai vantaggi principali:
- Scalabile per grandi progetti: la piattaforma gestisce in modo efficiente molteplici esperimenti e modelli, rendendola adatta a team più grandi e flussi di lavoro complessi.
- Storico dettagliato degli esperimenti: la piattaforma mantiene una cronologia completa degli esperimenti, consentendoti di rivisitare esecuzioni passate, analizzare configurazioni precedenti e imparare dai risultati ottenuti in precedenza.
- Opzioni di disabilitazione e ripristino: il logging di MLflow può essere facilmente disabilitato quando non necessario e le impostazioni possono essere ripristinate ai valori predefiniti, offrendo flessibilità per adattarsi ai diversi requisiti del flusso di lavoro.
Link to this sectionPunti chiave#
L'integrazione con MLflow rende la gestione e l'ottimizzazione degli esperimenti Ultralytics YOLO più facile ed efficiente. Tracciando automaticamente dettagli chiave come parametri, metriche e artefatti, semplifica il processo e rimuove la complicazione della gestione manuale degli esperimenti.
Che tu stia lavorando su soluzioni sanitarie come il rilevamento di tumori, migliorando sistemi di guida autonoma o potenziando l'analisi nel retail, questa integrazione aiuta a mantenere tutto organizzato e riproducibile. Con la sua interfaccia intuitiva e la sua flessibilità, MLflow consente agli sviluppatori di concentrarsi sulla costruzione di modelli migliori e sull'innovazione nelle applicazioni di visione artificiale.
Unisciti alla nostra community e dai un'occhiata al nostro repository GitHub per imparare tutto sull'IA. Puoi anche esplorare ulteriori applicazioni della computer vision nel settore manifatturiero o dell'IA nelle auto a guida autonoma sulle nostre pagine delle soluzioni.






