Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De mlflow-experiment gegevensbron biedt een Spark DataFrameReader-API om gegevens van MLflow-experimentuitvoeringen naar een DataFrame te laden. Azure Databricks gebruikers deze vaak gebruiken om resultaten van trainingsuitvoeringen te analyseren, metrische gegevens te vergelijken over experimenten en dashboards te bouwen boven op de experimentgeschiedenis. Zie Trainingsuitvoeringen organiseren met MLflow-experimenten voor meer informatie.
Prerequisites
Voor het lezen van MLflow-experimentuitvoeringsgegevens is Databricks Runtime 6.0 ML en hoger vereist.
Usage
In de volgende voorbeelden ziet u hoe u MLflow-experimentgegevens laadt en filtert met behulp van de Spark DataFrame-API.
Gegevens laden uit het notebook-experiment
Als u gegevens uit het experiment van het huidige notebook wilt laden, roept u load() zonder argumenten aan.
Python
df = spark.read.format("mlflow-experiment").load()
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load()
display(df)
Gegevens laden met behulp van experiment-id's
Als u gegevens wilt laden uit een of meer werkruimteexperimenten, geeft u de experiment-id's door als een door komma's gescheiden tekenreeks aan 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)
Gegevens laden met behulp van een experimentnaam
Als u gegevens wilt laden op experimentnaam, moet u de naam oplossen naar een id met behulp van de MLflow-client en vervolgens de id doorgeven aan 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)
Gegevens filteren op basis van metrische gegevens en parameters
Nadat u experimentgegevens hebt geladen, gebruikt u standaard DataFrame-filterexpressies om query's uit te voeren op metrische gegevens en parameters.
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)
Uitvoerschema
Het schema dat door de mlflow-experiment-gegevensbron wordt geretourneerd, ligt vast, ongeacht welk experiment is geladen:
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
Aanvullende bronnen
-
Lees Gedeelde OpenSharing-tabellen met Apache Spark DataFrames: Als uw gegevens worden gedeeld via Delta Sharing in plaats van opgeslagen in MLflow, gebruikt u de
deltasharingindeling om gedeelde tabellen te lezen met dezelfde DataFrameReader-API.