Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A mlflow-experiment fonte de dados fornece uma API DataFrameReader do Spark para carregar dados de execução de experimento do MLflow em um DataFrame. Os usuários do Azure Databricks geralmente o utilizam para analisar os resultados das execuções de treinamento, comparar métricas entre experimentos e criar painéis com base no histórico de experimentos. Para obter mais informações, consulte Organizar execuções de treinamento com experimentos do MLflow.
Pré-requisitos
Ler dados de execução de experimento do MLflow requer o Databricks Runtime 6.0 ML e superior.
Usage
Os exemplos a seguir mostram como carregar e filtrar dados de experimento do MLflow usando a API de DataFrame do Spark.
Carregar dados do experimento 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 workspace, passe as IDs do experimento como uma cadeia de caracteres 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, resolva o nome para uma ID usando o cliente MLflow e, em seguida, passe a 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
Depois de carregar dados de experimento, use expressões de filtro DataFrame padrão 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 retornado pela mlflow-experiment fonte de dados é corrigido 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 tabelas compartilhadas do OpenSharing usando o Apache Spark DataFrames: se os dados forem compartilhados por meio do Compartilhamento Delta em vez de armazenados no MLflow, use o
deltasharingformato para ler tabelas compartilhadas com a mesma API DataFrameReader.