Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A fonte de dados mlflow-experiment fornece uma API Spark DataFrameReader para carregar dados de execuções de experiências do MLflow num DataFrame. Os utilizadores do Azure Databricks usam-no frequentemente para analisar resultados de treinos, comparar métricas entre experiências e construir dashboards sobre o histórico dos experimentos. Para mais informações, consulte Organizar execuções de treino com experiências do MLflow.
Pré-requisitos
A leitura de dados de execuções de experiências do MLflow requer o Databricks Runtime 6.0 ML ou superior.
Usage
Os exemplos seguintes mostram como carregar e filtrar dados de experiências MLflow usando a API Spark DataFrame.
Carregar dados da experiência do notebook
Para carregar dados do experimento do notebook atual, chame load() sem argumentos.
Python
df = spark.read.format("mlflow-experiment").load()
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load()
display(df)
Carregar dados usando IDs de experimento
Para carregar dados de um ou mais experimentos de espaço de trabalho, passe os IDs dos experimentos como uma cadeia separada por vírgulas para 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)
Carregar dados usando um nome de experimento
Para carregar dados pelo nome do experimento, resolve o nome para um ID usando o cliente MLflow, depois passa o ID para 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)
Filtrar dados com base em métricas e parâmetros
Após carregar os dados do experimento, utilize expressões padrão de filtro DataFrame para consultar entre métricas e parâmetros.
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)
Esquema de saída
O esquema devolvido pela mlflow-experiment fonte de dados é fixo independentemente do experimento carregado:
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
Recursos adicionais
-
Leia as tabelas partilhadas do OpenSharing com os DataFrames do Apache Spark: Se os seus dados forem partilhados através do Delta Sharing, em vez de estarem armazenados no MLflow, utilize o formato
deltasharingpara ler tabelas partilhadas com a mesma API de DataFrameReader.