Testversionen überprüfen

Abgeschlossen

Wenn Sie Optuna verwenden, um mehrere Hyperparameterkombinationen zu testen, können Sie die Details der einzelnen Testversionen überprüfen. Dies ist auf zwei Arten möglich:

  • Anzeigen der MLflow-Ausführung für die einzelnen Tests
  • Verwenden Sie die Kurse "Studie " und " Test ", um Ausführungsdetails zu erfassen.

Anzeigen der MLflow-Ausführung für die einzelnen Tests

In Azure Databricks können Sie Optuna in MLflow integrieren, um für jede Testversion automatisch MLflow-Experimentläufe zu generieren. Dies bietet eine einfache Möglichkeit, den vollständigen Satz von Hyperparametern und Metriken für jede Testversion im Azure Databricks-Portal anzuzeigen, wie hier gezeigt:

Screenshot der MLflow-Ausführung für eine Optuna-Testversion.

Verwenden von Studien- und Testkursen

Optuna verwaltet Testdetails mithilfe der Kurse " Studie " und "Test ".

  • Studieren: Eine Studie stellt eine Optimierungssitzung dar. Es verwaltet den gesamten Prozess der Suche nach den besten Hyperparametern. Sie können sich dies als Container vorstellen, der alle Testversionen, deren Ergebnisse und die besten Parameter speichert, die bisher gefunden wurden.

  • Probephase: Eine Testversion stellt eine einzelne Ausführung des Optimierungsprozesses mit einem bestimmten Satz von Hyperparametern dar. Jede Testversion zeichnet die verwendeten Parameterwerte, den resultierenden Zielwert (z. B. Genauigkeit oder Verlust) und andere Metadaten (z. B. Dauer, Zustand usw.) auf.

Das folgende Codebeispiel zeigt, wie Sie Optuna verwenden, um die Details der einzelnen Testversionen zu überprüfen.

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)

Tipp

Weitere Informationen zu den Details, die von den Testklassen aufgezeichnet werden, finden Sie in der Optuna-Dokumentation.