Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'origine dati mlflow-experiment offre un'API Spark DataFrameReader per caricare i dati delle esecuzioni degli esperimenti MLflow in un DataFrame. Gli utenti di Azure Databricks lo usano comunemente per analizzare i risultati delle esecuzioni di addestramento, confrontare le metriche tra gli esperimenti e creare dashboard basate sulla cronologia degli esperimenti. Per altre informazioni, vedi Organizzare le esecuzioni di training con gli esperimenti di MLflow.
Prerequisiti
La lettura dei dati di esecuzione dell'esperimento MLflow richiede Databricks Runtime 6.0 ML e versioni successive.
Usage
Gli esempi seguenti illustrano come caricare e filtrare i dati dell'esperimento MLflow usando l'API DataFrame Spark.
Caricare dati dall'esperimento del notebook
Per caricare i dati dall'esperimento del notebook corrente, chiama load() senza argomenti.
Pitone
df = spark.read.format("mlflow-experiment").load()
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load()
display(df)
Caricare i dati usando gli ID esperimenti
Per caricare i dati da uno o più esperimenti dell'area di lavoro, passare gli ID esperimento come stringa delimitata da virgole a load().
Pitone
df = spark.read.format("mlflow-experiment").load("3270527066281272")
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load("3270527066281272,953590262154175")
display(df)
Caricare i dati usando un nome di esperimento
Per caricare i dati in base al nome dell'esperimento, risolvere il nome in un ID usando il client MLflow, quindi passare l'ID a load().
Pitone
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)
Filtrare i dati in base a metriche e parametri
Dopo il caricamento dei dati dell'esperimento, usare espressioni di filtro dataframe standard per eseguire query tra metriche e parametri.
Pitone
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)
Schema di output.
Lo schema restituito dall'origine mlflow-experiment dati viene corretto indipendentemente dal caricamento dell'esperimento:
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
Risorse aggiuntive
-
Leggi le tabelle condivise di OpenSharing usando i DataFrame di Apache Spark: se i dati vengono condivisi tramite Delta Sharing anziché essere archiviati in MLflow, usa il formato
deltasharingper leggere le tabelle condivise con la stessa API DataFrameReader.