mlflow quickstart

快速开始

安装MLflow

您通过运行安装MLflow:

  • Python
  • R
pip install mlflow

注意

您无法在Python的MacOS系统安装上安装MLflow。我们建议使用Homebrew包管理器 安装Python 3 。(在这种情况下,现在安装MLflow )。brew install pythonpip3 install mlflow

此时,我们建议您按照教程了解如何在日常工作流程中利用MLflow。

正在下载快速入门

通过克隆MLflow来下载快速入门代码,然后cd进入存储库的子目录。我们将使用此工作目录来运行。git clone https://github.com/mlflow/mlflowexamplesquickstart

我们避免直接从我们的MLflow克隆中运行,因为这样做会导致教程从源代码中使用MLflow,而不是使用MLflow的PyPi安装。

使用Tracking API

MLflow跟踪API可以让你从你的数据的科学代码登录度量和工件(文件),看看您运行的历史。您可以通过编写如下的简单Python脚本来尝试它(此示例也包括在内quickstart/mlflow_tracking.py):

  • Python
  • R
import os
from mlflow import log_metric, log_param, log_artifact

if __name__ == "__main__":
    # Log a parameter (key-value pair)
    log_param("param1", 5)

    # Log a metric; metrics can be updated throughout the run
    log_metric("foo", 1)
    log_metric("foo", 2)
    log_metric("foo", 3)

    # Log an artifact (output file)
    with open("output.txt", "w") as f:
        f.write("Hello world!")
    log_artifact("output.txt")

查看跟踪UI

默认情况下,无论您在何处运行程序,跟踪API都会将数据写入文件到mlruns目录中。然后,您可以运行MLflow的跟踪UI:

  • Python
  • R
mlflow ui

并在http:// localhost:5000查看。

注意

如果您在MLflow UI或错误日志中看到消息,请尝试使用而不是。[CRITICAL] WORKER TIMEOUThttp://localhost:5000http://127.0.0.1:5000

或者,您可以将MLflow配置为将运行记录到远程服务器以集中管理结果或在团队中共享它们。

运行MLflow项目

MLflow允许您将代码及其依赖项打包为一个可以在其他数据上以可重现的方式运行的项目。每个项目都包含其代码和MLproject定义其依赖项的文件(例如,Python环境),以及可以在项目中运行的命令以及它们采用的参数。

您可以使用命令轻松运行现有项目,该命令从本地目录或GitHub URI运行项目:mlflow run

mlflow run sklearn_elasticnet_wine -P alpha=0.5

mlflow run https://github.com/mlflow/mlflow-example.git -P alpha=5

有一个示例项目tutorial,包括一个MLproject指定其依赖项的文件。如果您尚未配置跟踪服务器,则项目会将其Tracking API数据记录在本地mlruns目录中,以便您可以使用这些运行来查看这些运行。mlflow ui

注意

默认情况下,使用conda安装所有依赖项。要在不使用的情况下运行项目,可以提供选项 。在这种情况下,您必须确保已在Python环境中安装必要的依赖项。mlflow runconda--no-condamlflow run

有关更多信息,请参阅MLflow项目

储蓄和服务模式

MLflow包括一种通用MLmodel格式,用于从各种风格的各种工具中 保存模型。例如,许多模型可以作为Python函数提供,因此文件可以声明每个模型应该如何解释为Python函数,以便让各种工具为它提供服务。MLflow还包括用于在本地运行此类模型并将其导出到Docker容器或商业服务平台的工具。MLmodel

为了说明此功能,mlflow.sklearn程序包可以将scikit-learn模型记录为MLflow工件,然后再次加载它们以进行服务。有一个示例培训应用程序 sklearn_logistic_regression/train.py,您可以按如下方式运行:

python sklearn_logistic_regression/train.py

运行示例时,它会输出该实验的MLflow运行ID。如果你看一下 ,你还会看到运行保存了一个包含 描述文件和pickle scikit-learn模型的文件夹。您可以将工件ID和工件目录(此处为“模型”)中的模型路径传递给各种工具。例如,MLflow包含一个用于基于python的模型的简单REST服务器:mlflow uimodelMLmodel

mlflow models serve -m runs:/<RUN_ID>/model

注意

默认情况下,服务器在端口5000上运行。如果该端口已在使用中,请使用-port选项指定其他端口。例如:mlflow models serve -m runs:/<RUN_ID>/model --port 1234

启动服务器后,您可以传递一些示例数据并查看预测。

以下示例用于curl将具有方向的JSON序列化pandas DataFrame发送split 到模型服务器。有关pyfunc模型服务器接受的输入数据格式的更多信息,请参阅MLflow部署工具文档

curl -d '{"columns":["x"], "data":[[1], [-1]]}' -H 'Content-Type: application/json; format=pandas-split' -X POST localhost:5000/invocations

返回:

{"predictions": [1, 0]}

转载于:https://my.oschina.net/u/269325/blog/3078409

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值