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 功能,一行代码会自动记录生成的模型、用于创建模型的参数和模型分数。 以下笔记本演示了如何使用 autologging 设置运行。

MLflow autologging 快速入门 Python 笔记本

获取笔记本

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

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

获取笔记本

了解详细信息