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

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 VinaAbirami Vina9 min di lettura
Registrazione degli esperimenti Ultralytics YOLO con l'integrazione MLflow

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.

Componenti di MLflow

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.

Funzionalità principali di registrazione dell'integrazione con MLflow

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.

Visualizzazione degli esperimenti con l'integrazione con MLflow

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.

Griglia di scansioni MRI cerebrali di validazione con riquadri di Ultralytics YOLO11 che identificano le regioni tumorali come positive o negative

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

Abirami Vina
Abirami Vina

Creatore di contenuti · Ultralytics

Dopo aver iniziato la sua carriera come ingegnera di visione artificiale, Abirami Vina ha costruito solide basi nell'IA visiva e nel machine learning. È creatrice di contenuti per Ultralytics e fondatrice e autrice principale di Scribe of AI, dove realizza contenuti tecnici di alta qualità per aziende specializzate in IA. Spinta dalla passione di rendere l'IA comprensibile e coinvolgente, con il suo lavoro colma il divario tra tecnologie all'avanguardia e impatto concreto.

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