Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Zdroj dat mlflow-experiment poskytuje rozhraní Spark DataFrameReader API pro načítání dat o bězích experimentů MLflow do objektu DataFrame. Azure Databricks uživatelé ho běžně používají k analýze výsledků trénování, porovnání metrik mezi experimenty a vytváření řídicích panelů nad historií experimentů. Další informace najdete v tématu Uspořádání trénovacích běhů pomocí experimentů MLflow.
Předpoklady
Čtení dat o běhu experimentu MLflow vyžaduje Databricks Runtime verze 6.0 ML nebo novější.
Usage
Následující příklady ukazují, jak načíst a filtrovat data experimentu MLflow pomocí rozhraní API datového rámce Spark.
Načtení dat z poznámkového bloku experimentu
Chcete-li načíst data z experimentu aktuálního notebooku, zavolejte load() bez argumentů.
Python
df = spark.read.format("mlflow-experiment").load()
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load()
display(df)
Načtení dat pomocí ID experimentů
Pokud chcete načíst data z jednoho nebo více experimentů pracovního prostoru, předejte ID experimentů jako řetězec oddělený čárkami do 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)
Načtení dat pomocí názvu experimentu
Pokud chcete načíst data podle názvu experimentu, přeložte název na ID pomocí klienta MLflow a pak předejte ID .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)
Filtrování dat na základě metrik a parametrů
Po načtení dat experimentu použijte standardní výrazy filtru datového rámce k dotazování napříč metrikami a parametry.
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)
Výstupní schéma
Schéma vrácené mlflow-experiment zdrojem dat je pevné bez ohledu na načtený experiment:
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
Dodatečné zdroje
-
Čtěte sdílené tabulky OpenSharing pomocí DataFrame v Apache Spark: Pokud jsou vaše data sdílena prostřednictvím Delta Sharing namísto toho, aby byla uložená v MLflow, použijte formát
deltasharingpro čtení sdílených tabulek pomocí stejného rozhraní DataFrameReader API.