Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Datakällan mlflow-experiment tillhandahåller ett Spark DataFrameReader-API för att läsa in data från MLflow-experimentkörningar i en DataFrame. Azure Databricks-användare använder ofta tjänsten för att analysera resultat från träningskörningar, jämföra mätvärden mellan experiment och skapa instrumentpaneler baserade på experimenthistoriken. Mer information finns i Ordna träningskörningar med MLflow-experiment.
Förutsättningar
För att läsa MLflow-experimentkörningsdata krävs Databricks Runtime 6.0 ML och senare.
Usage
I följande exempel visas hur du läser in och filtrerar MLflow-experimentdata med hjälp av Spark DataFrame-API:et.
Läsa in data från notebook-experimentet
Om du vill läsa in data från den aktuella notebook-filens experiment anropar du load() utan argument.
Python
df = spark.read.format("mlflow-experiment").load()
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load()
display(df)
Läsa in data med hjälp av experiment-ID:t
Om du vill läsa in data från ett eller flera arbetsyteexperiment skickar du experiment-ID:t som en kommaavgränsad sträng till 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)
Läsa in data med hjälp av ett experimentnamn
Om du vill läsa in data efter experimentnamn löser du namnet till ett ID med hjälp av MLflow-klienten och skickar sedan ID:t till 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)
Filtrera data baserat på mått och parametrar
När du har läst in experimentdata använder du standarduttryck för DataFrame-filter för att fråga efter mått och parametrar.
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)
Utdataschema
Schemat som returneras av mlflow-experiment datakällan är fast oavsett vilket experiment som läses in:
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
Ytterligare resurser
-
Läs delade tabeller med OpenSharing med Apache Spark DataFrames: Om dina data delas via Delta Sharing i stället för att lagras i MLflow använder du formatet
deltasharingför att läsa delade tabeller med samma DataFrameReader-API.