Rejestrowanie eksperymentów w MLflow

End-to-End Machine Learning

Joshua Stapleton

Machine Learning Engineer

MLflow

Bez MLflow...

  • Wiele nieśledzonych, niezorganizowanych przebiegów
  • Nieporównywalne przebiegi
  • Nieodtwarzalne, utracone przebiegi

Z MLflow...

  • Śledzone, zorganizowane przebiegi
  • Porównywanie ustandaryzowanych przebiegów
  • Odtwarzalne przebiegi
  • Udostępnianie i wdrażanie modeli
End-to-End Machine Learning

Tworzenie eksperymentów

mlflow.set_experiment()

  • Ustawia nazwę eksperymentu
  • Tworzy przestrzeń roboczą dla przebiegów

 

Użycie:

import mlflow

# Set an experiment name, which is a workspace for your runs
mlflow.set_experiment("Heart Disease Classification")
End-to-End Machine Learning

Uruchamianie eksperymentów

# Start a new run in this experiment
with mlflow.start_run():
    # Train a model, get the prediction accuracy
    logistic_model = LogisticRegression()

# Log parameters, eg: mlflow.log_param("n_estimators", logistic_model.n_estimators)
# Log metrics (accuracy in this case) mlflow.log_metric("accuracy", logistic_model.accuracy)
# Print out metrics print("Model accuracy: %.3f" % accuracy)
Model accuracy: 0.96
End-to-End Machine Learning

Pobieranie eksperymentów

 

mlflow.get_run(run_id)

  • Metadane konkretnego przebiegu

 

mlflow.search_runs()

  • Zwraca DataFrame z metrykami wielu przebiegów

Użycie:

# Fetch the run data and print params
run_data = mlflow.get_run(run_id)
print(run_data.data.params)
print(run_data.data.metrics)

# Search all runs in experiment
exp_id = run_data.info.experiment_id
runs_df = mlflow.search_runs(exp_id)
{'epochs': '20', 'accuracy': 0.95}
End-to-End Machine Learning

Interfejs MLflow

 

Pulpit nawigacyjny eksperymentów MLflow

 

Przykładowa strona eksperymentu MLflow

End-to-End Machine Learning

Interfejs MLflow (cd.)

 

Przykładowy wykres poprawy metryki

 

Przykładowe porównanie metryk między przebiegami

End-to-End Machine Learning

Zasoby MLflow

  • Wprowadzenie do MLflow Wprowadzenie do MLflow
  • Oficjalna strona MLflow Oficjalna strona MLflow
End-to-End Machine Learning

Czas na ćwiczenia!

End-to-End Machine Learning

Preparing Video For Download...