Esaminare le versioni di valutazione

Completato

Quando si usa Optuna per provare più combinazioni di iperparametri, è possibile esaminare i dettagli di ogni versione di valutazione. È possibile esaminare questi dettagli in due modi:

  • Visualizzare l'esecuzione di MLflow per ogni prova.
  • Usare le classi Study e Trial per acquisire i dettagli dell'esecuzione.

Visualizzare l'esecuzione di MLflow per ogni prova

In Azure Databricks è possibile integrare Optuna con MLflow per generare automaticamente esecuzioni dell'esperimento MLflow per ogni versione di valutazione. Questo offre un modo semplice per visualizzare il set completo di iperparametri e metriche per ogni versione di valutazione nel portale di Azure Databricks, come illustrato di seguito:

Screenshot dell'esecuzione di MLflow per una versione di valutazione optuna.

Usare le classi Study e Trial

Optuna gestisce i dettagli della versione di valutazione usando le classi Study e Trial .

  • Studiare: Uno studio rappresenta una sessione di ottimizzazione. Gestisce il processo complessivo di ricerca degli iperparametri migliori. È possibile considerarlo come un contenitore che archivia tutte le prove, i risultati e i parametri migliori trovati finora.

  • Prova: Una versione di valutazione rappresenta una singola esecuzione del processo di ottimizzazione con un set specifico di iperparametri. Ogni versione di valutazione registra i valori dei parametri usati, il valore obiettivo risultante (ad esempio accuratezza o perdita) e altri metadati (ad esempio durata, stato e così via).

L'esempio di codice seguente illustra come usare Optuna per esaminare i dettagli di ogni versione di valutazione.

import optuna

def objective(trial):
    # Define your hyperparameters using trial.suggest_* methods
    x = trial.suggest_float("x", -10, 10)
    # ... your model training and evaluation ...
    return (x - 2) ** 2  # Example objective

study = optuna.create_study(direction="minimize")
study.optimize(objective, n_trials=100)

print("Best param values: ", study.best_params)

# Get details from each trial run
print("trials:")
for trial in study.trials:
    print("\n", trial)

Suggerimento

Per altre informazioni sui dettagli registrati dalle classi di valutazione , vedere la documentazione di Optuna.