Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Źródło danych mlflow-experiment udostępnia interfejs API Spark DataFrameReader do ładowania danych uruchomień eksperymentów MLflow do obiektu DataFrame. Azure Databricks użytkownicy często używają go do analizowania wyników przebiegu trenowania, porównywania metryk między eksperymentami i tworzenia pulpitów nawigacyjnych na podstawie historii eksperymentów. Aby uzyskać więcej informacji, zobacz Organizowanie przebiegów trenowania za pomocą eksperymentów MLflow.
Prerequisites
Odczytywanie danych przebiegu eksperymentu MLflow wymaga środowiska Databricks Runtime 6.0 ML lub nowszego.
Usage
W poniższych przykładach pokazano, jak ładować i filtrować dane eksperymentu MLflow przy użyciu interfejsu API ramki danych platformy Spark.
Ładowanie danych z eksperymentu notatnika
Aby załadować dane z eksperymentu w bieżącym notatniku, wywołaj load() bez argumentów.
Python
df = spark.read.format("mlflow-experiment").load()
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load()
display(df)
Ładowanie danych przy użyciu identyfikatorów eksperymentów
Aby załadować dane z co najmniej jednego eksperymentu w obszarze roboczym, przekaż identyfikatory eksperymentów w postaci ciągu rozdzielonego przecinkami do load().
Python
df = spark.read.format("mlflow-experiment").load("3270527066281272")
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load("3270527066281272,953590262154175")
display(df)
Ładowanie danych przy użyciu nazwy eksperymentu
Aby załadować dane na podstawie nazwy eksperymentu, należy przy użyciu klienta MLflow przekształcić nazwę w identyfikator, a następnie przekazać ten identyfikator do load().
Python
expId = mlflow.get_experiment_by_name("/Shared/diabetes_experiment/").experiment_id
df = spark.read.format("mlflow-experiment").load(expId)
display(df)
Scala
val expId = mlflow.getExperimentByName("/Shared/diabetes_experiment/").get.getExperimentId
val df = spark.read.format("mlflow-experiment").load(expId)
display(df)
Filtrowanie danych na podstawie metryk i parametrów
Po załadowaniu danych eksperymentu użyj standardowych wyrażeń filtru ramki danych do wykonywania zapytań dotyczących metryk i parametrów.
Python
df = spark.read.format("mlflow-experiment").load("3270527066281272")
filtered_df = df.filter("metrics.loss < 0.01 AND params.learning_rate > '0.001'")
display(filtered_df)
Scala
val df = spark.read.format("mlflow-experiment").load("3270527066281272")
val filtered_df = df.filter("metrics.loss < 1.85 AND params.num_epochs > '30'")
display(filtered_df)
Schemat danych wyjściowych
Schemat zwracany przez mlflow-experiment źródło danych jest stały niezależnie od załadowanego eksperymentu:
root
|-- run_id: string
|-- experiment_id: string
|-- metrics: map
| |-- key: string
| |-- value: double
|-- params: map
| |-- key: string
| |-- value: string
|-- tags: map
| |-- key: string
| |-- value: string
|-- start_time: timestamp
|-- end_time: timestamp
|-- status: string
|-- artifact_uri: string
Dodatkowe zasoby
-
Odczytywanie tabel udostępnionych przez OpenSharing przy użyciu ramek danych Apache Spark: jeśli dane są udostępniane za pośrednictwem Delta Sharing, a nie przechowywane w MLflow, użyj formatu
deltasharing, aby odczytywać udostępnione tabele przy użyciu tego samego interfejsu API DataFrameReader.