Python 快速入门

MLflow 是用于管理端到端机器学习生命周期的开源平台。 MLflow 提供简单的 API 来记录指标(例如模型丢失)、参数(例如学习速率)和拟合模型,以便简化随后的训练结果分析或模型部署。

本部分内容:

安装 MLflow

如果使用的是用于机器学习的 Databricks Runtime,则已经安装 MLflow。 否则,请从 PyPI 安装 MLflow 包

自动将训练运行记录到 MLflow

在 Databricks Runtime 10.4 LTS ML 及更高版本中,Databricks Autologging 在默认情况下是启用的,并且,在你利用各种流行的机器学习库训练模型时,会自动捕获模型参数、指标、文件和世系信息。

在 Databricks Runtime 9.1 LTS ML 中,MLflow 提供 mlflow.<framework>.autolog() API 来自动记录采用多种 ML 框架编写的训练代码。 你可以先调用此 API,然后再运行训练代码以记录特定于模型的指标、参数和模型项目。

TensorFlow

注意

mlflow.tensorflow.autolog() 还支持 Keras 模型。

# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()

XGBoost

import mlflow.xgboost
mlflow.xgboost.autolog()

LightGBM

import mlflow.lightgbm
mlflow.lightgbm.autolog()

scikit-learn

import mlflow.sklearn
mlflow.sklearn.autolog()

PySpark

如果使用 pyspark.ml 执行优化,则系统会自动将指标和模型记录到 MLflow 中。 请参阅 Apache Spark MLlib 和自动化 MLflow 跟踪

查看结果

执行机器学习代码后,可以使用“试验运行”边栏查看结果。 请参阅查看笔记本试验,了解有关如何查看快速入门中使用的试验、运行和笔记本修订版的说明。

跟踪其他指标、参数和模型

你可以通过直接调用 MLflow 跟踪日志记录 API 来记录其他信息。

数值指标

  import mlflow
  mlflow.log_metric("accuracy", 0.9)

训练参数

  import mlflow
  mlflow.log_param("learning_rate", 0.001)

模型

scikit-learn

 import mlflow.sklearn
 mlflow.sklearn.log_model(model, "myModel")

PySpark

 import mlflow.spark
 mlflow.spark.log_model(model, "myModel")

XGBoost

 import mlflow.xgboost
 mlflow.xgboost.log_model(model, "myModel")

TensorFlow

 import mlflow.tensorflow
 mlflow.tensorflow.log_model(model, "myModel")

Keras

 import mlflow.keras
 mlflow.keras.log_model(model, "myModel")

PyTorch

 import mlflow.pytorch
 mlflow.pytorch.log_model(model, "myModel")

SpaCy

 import mlflow.spacy
 mlflow.spacy.log_model(model, "myModel")

其他项目(文件)

   import mlflow
   mlflow.log_artifact("/tmp/my-file", "myArtifactPath")

示例笔记本

注意

在 Databricks Runtime 10.4 LTS ML 及更高版本中,Databricks Autologging 在默认情况下是启用的,并且这些示例笔记本中的代码不是必需的。 本部分中的示例笔记本是为与 Databricks Runtime 9.1 LTS ML 配合使用而设计的。

要通过 Python 开始使用 MLflow 跟踪,推荐的方法是使用 MLflow autolog() API。 利用 MLflow 的自动日志记录功能,一行代码会自动记录生成的模型、用于创建该模型的参数,以及模型分数。 以下笔记本演示了如何使用 autologging 设置运行。

MLflow autologging 快速入门 Python 笔记本

获取笔记本

如果需要更好地控制为每次训练运行记录的指标,或想要记录其他项目(如表或绘图),可以使用以下笔记本中演示的 MLflow 日志记录 API 函数。

MLflow 日志记录 API 快速入门 Python 笔记本

获取笔记本

了解详细信息