Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die mlflow-experiment Datenquelle stellt eine Spark DataFrameReader-API zum Laden von Daten zu MLflow-Experimentausführungen in einen DataFrame bereit. Azure Databricks Benutzer verwenden sie häufig, um Die Ergebnisse der Trainingsausführung zu analysieren, Metriken über Experimente hinweg zu vergleichen und Dashboards über den Experimentverlauf zu erstellen. Weitere Informationen finden Sie unter Organisieren von Trainingsläufen mit MLflow-Experimenten.
Voraussetzungen
Zum Lesen von MLflow-Experimentausführungsdaten sind Databricks Runtime 6.0 ML und höher erforderlich.
Usage
Die folgenden Beispiele zeigen, wie MLflow-Experimentdaten mithilfe der Spark DataFrame-API geladen und gefiltert werden.
Laden von Daten aus dem Notizbuchexperiment
Rufen Sie ohne Argumente auf load() , um Daten aus dem Experiment des aktuellen Notizbuchs zu laden.
Python
df = spark.read.format("mlflow-experiment").load()
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load()
display(df)
Daten mit Experiment-IDs laden
Um Daten aus einem oder mehreren Arbeitsbereichsexperimenten zu laden, übergeben Sie die Experiment-IDs als durch Trennzeichen getrennte Zeichenfolge an 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)
Laden von Daten mithilfe eines Experimentnamens
Um Daten nach Experimentnamen zu laden, lösen Sie den Namen mithilfe des MLflow-Clients in eine ID auf, und übergeben Sie dann die ID an 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)
Filtern von Daten basierend auf Metriken und Parametern
Verwenden Sie nach dem Laden von Experimentdaten standardmäßige DataFrame-Filterausdrücke, um Metriken und Parameter abzufragen.
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)
Ausgabeschema
Das von der Datenquelle mlflow-experiment zurückgegebene Schema ist unabhängig vom geladenen Experiment fest:
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
Weitere Ressourcen
-
Freigegebene OpenSharing-Tabellen mit Apache Spark DataFrames lesen: Wenn Ihre Daten über Delta Sharing freigegeben werden, anstatt in MLflow gespeichert zu sein, verwenden Sie das Format
deltasharing, um freigegebene Tabellen mit derselben DataFrameReader-API zu lesen.