Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Experiment Tracking

Il tracciamento degli esperimenti registra parametri, versioni di codice e dati, metriche e artefatti di ogni esecuzione di addestramento ML, così da poter confrontare e riprodurre le esecuzioni.

Il tracciamento degli esperimenti consiste nel registrare in un unico archivio consultabile ogni aspetto di ciascuna esecuzione di training di machine learning, incluse la versione del codice e dei dati, le impostazioni, l'ambiente, le metriche nel tempo e i file di output come pesi e grafici. Un progetto che prova decine di learning rate, impostazioni di data augmentation e dimensioni del modello produce esecuzioni simili tra loro sul disco; il tracciamento conserva la configurazione associata a ciascun risultato, così mesi dopo puoi confrontare e riprodurre l'esecuzione migliore e risalire alla sua origine. TensorBoard, rilasciato insieme a TensorFlow nel 2015, ha reso standard i grafici di training in tempo reale; nel 2018 Databricks ha rilasciato MLflow come open source, includendo il tracciamento tra i suoi tre componenti originali. Anche Weights & Biases, Comet, ClearML e DVC sono strumenti di tracciamento molto usati.

Cosa registra un tracker#

Ogni esecuzione riceve un ID univoco e appartiene a un esperimento, un gruppo nominato di esecuzioni correlate. Un tipico record di esecuzione contiene:

  • Iperparametri: Learning rate, dimensione del batch, ottimizzatore, architettura del modello, seed casuale e tutte le altre impostazioni che determinano il training.
  • Metriche: Perdite e punteggi di training e convalida registrati per passaggio o epoca, oltre a metriche di sistema come l'utilizzo e la memoria della GPU.
  • Artefatti: Checkpoint, matrici di confusione, previsioni di esempio e file di configurazione.
  • Provenienza: Il commit Git, la versione del dataset, le versioni dei pacchetti, l'hardware e l'autore associati all'esecuzione.

La registrazione avviene tramite una chiamata del client per ogni valore oppure automaticamente, attraverso integrazioni di autologging che acquisiscono parametri e metriche di un framework senza bisogno di codice aggiuntivo. Un server di tracciamento condiviso raccoglie le esecuzioni da tutti i laptop, i computer cloud e i job CI di un team; la dashboard sovrappone le curve di perdita delle esecuzioni selezionate e le filtra in base a qualsiasi parametro o metrica, rendendo immediatamente visibili problemi come l'overfitting.

Il training di Ultralytics YOLO salva gli argomenti di ogni esecuzione in args.yaml e le perdite e le metriche per epoca in results.csv; le integrazioni integrate inviano gli stessi valori a MLflow, Comet, ClearML o DVC non appena il relativo pacchetto è installato, mentre TensorBoard e Weights & Biases si attivano tramite yolo settings. Gli argomenti di training project e name diventano i nomi dell'esperimento e dell'esecuzione in MLflow, così una ricerca a sweep di YOLO26 arriva nel tracker già organizzata.

Confrontare e riprodurre le esecuzioni#

I dashboard tracciano una metrica rispetto a un parametro tra le esecuzioni o disegnano grafici a coordinate parallele che collegano le impostazioni di ogni esecuzione al relativo punteggio, mostrando quali impostazioni contano in una ricerca. In Ultralytics Platform, un progetto confronta i propri modelli con curve di metriche e loss sovrapposte e una tabella affiancata, e la lezione Confrontare le esecuzioni e scegliere la migliore trasforma il confronto in un gate di promozione automatizzato. Per riprodurre un'esecuzione servono più degli iperparametri: il record deve contenere anche il commit del codice, lo snapshot esatto dei dati, le versioni dei pacchetti e il seed casuale, perché i kernel GPU e l'ordine di caricamento dei dati possono modificare leggermente i risultati anche tra esecuzioni altrimenti identiche.

Questo script MLflow addestra un albero decisionale con quattro profondità sui dati delle cifre scritte a mano di scikit-learn, registra ogni profondità come parametro e l'accuratezza di convalida come metrica, quindi interroga l'esperimento come se fosse una tabella:

import mlflow
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# Store runs in a local SQLite file and group them under one experiment
mlflow.set_tracking_uri("sqlite:///mlflow.db")
mlflow.set_experiment("digits-tree-depth")
X_train, X_val, y_train, y_val = train_test_split(*load_digits(return_X_y=True), random_state=0)

# One tracked run per setting: the parameter goes in, the metric comes out
for depth in [2, 4, 8, 16]:
    with mlflow.start_run(run_name=f"depth-{depth}"):
        model = DecisionTreeClassifier(max_depth=depth, random_state=0).fit(X_train, y_train)
        mlflow.log_param("max_depth", depth)
        mlflow.log_metric("val_accuracy", model.score(X_val, y_val))

# Query the experiment like a table, best run first
runs = mlflow.search_runs(order_by=["metrics.val_accuracy DESC"])
print(runs[["params.max_depth", "metrics.val_accuracy"]])

Con un database nuovo, la tabella elenca per prima la profondità 16 con un'accuratezza di convalida di 0.838, poi la profondità 8 con 0.818, la profondità 4 con 0.533 e la profondità 2 con 0.318. Eseguendo mlflow ui nella stessa cartella con --backend-store-uri sqlite:///mlflow.db si aprono le stesse esecuzioni nel browser.

Il tracciamento degli esperimenti è una fase delle operazioni di machine learning (MLOps), affiancata da tre pratiche spesso confuse con esso:

  • Registro dei modelli: Conserva i pochi modelli addestrati che vale la pena distribuire, ciascuna versione collegata all'esecuzione tracciata da cui è stata prodotta.
  • Monitoraggio dei modelli: Osserva gli input, gli output e l'accuratezza di un modello distribuito in produzione, dopo che il tracciamento ha svolto il suo compito durante lo sviluppo.
  • Ottimizzazione degli iperparametri: Strumenti di ricerca come Optuna e Ray Tune avviano automaticamente molte esecuzioni; il tracker le registra e le classifica tutte.

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