MLOps极致细节:2. MLFlow Tracking 案例介绍(Gitee代码链接)

MLOps极致细节:2. MLFlow Tracking 案例介绍(Gitee代码链接)

MLflow Tracking是一个API以及包含UI界面,能够允许我们记录代码中的log matrics和artifacts文件,查看运行历史记录,并且进行一些结果的数据可视化。

在这个案例中,我们会具体说明MLflow Tracking如何被使用,以及结果。相关的代码存于此gitee链接。首先,我们先简单地过一遍概念,然后介绍如何把这个代码跑起来。关于此代码的详细解释,请参见我的博客:MLOps极致细节:3. MLFlow Tracking 案例代码解读

  • 平台:Win10。
  • IDE:Visual Studio Code
  • 需要预装:Anaconda3。


1 一些概念

当我们使用MLFlow Tracking,例如,引用了log_metric, log_param, log_artifacts这些模块,运行代码过后,我们会发现,系统会自动生成一个mlruns的文件夹,里面就会包含我们Tracking的日志等相关文件。这些记录包括:

  • Code Version
  • Start & End Time:每次项目运行(experiment run)的开始和结束时间
  • Source:运行文件的名称,或者MLflow项目运行时的项目名称和entry point。
  • Parameters:日志的参数。键(Key)和值(Value)都是字符串(String)。
  • Metrics:键(Key)-值(Value)矩阵。值是一个数字(numeric)。
  • Artifacts:以任何格式输出文件。例如,图片,模型和数据文件都可以作为artifacts。

2 数据保存

MLFlow项目运行后,默认会将上述数据记录到本地(mlruns文件夹下),也支持保存至与SQLAlchemy兼容的数据库,或者远程记录到服务器。然后我们可以运行mlflow ui查看记录的运行,以及一些可视化结果。这里我们先不一一描述,而是将重点放在保存到本地。

在这里插入图片描述

此图直白地介绍了我们将MLFlow的Tracking记录保存到本地的情况,即,后端数据(backend)和工件(artifacts)都存储在本地文件并共享一个目录:mlruns。MLFlow客户端可以直接与FileStore和LocalArtifactRepository的实例接口。

3 相关函数的介绍

这里,我们将简单介绍几个常用的MLFlow Tracking相关函数。详细的描述见此网站

  • experiment相关。mlflow.create_experiment(): 创建一个新的experiment,返回experiment_id。我们可以在这个基础上使用mlflow.start_run来run我们的代码。与experiment相关的函数还有:mlflow.set_experiment(), mlflow.get_experiment()等;
  • run相关。mlflow.start_run():启动一个新的MLflow run,在这个run里面我们可以log_param或者log_metric。通常这个函数和with一起使用(见下面的例子);最后,我们调用end_run()来终止当前项目run的运行。与run相关的函数还有:mlflow.end_run(), mlflow.active_run()等;
  • tag相关。mlflow.set_tag():在当前的run中设置单个Tag标记。键(Key)和值(Value)都是字符串。与tag相关的函数还有:mlflow.set_tags()
  • log相关。mlflow.log_param():记录单一的键(Key)和值(Value)参数;mlflow.log_metric():记录单一的键(Key)和值(Value)“矩阵”;mlflow.log_artifact():记录一个本地的文件或者路径。(我们会在之后的例子中解释三者的区别);

4 代码运行

在运行起代码之前,我们还是需要在我们的主机(host machine)新建虚拟环境(比如conda create -n [your vm name] python=3.8),python版本按照你的主机运行环境而定,我这边3.8,3.9都可以。进入虚拟环境(conda activate [your vm name])。

然后,我们将代码克隆到本地:git clone https://gitee.com/yichaoyyds/mlflow-ex-tracking-basic.git,进入文件夹:cd mlflow-ex-tracking-basic,安装好依赖(pip3 install mlflow -i requirements.txt)。

运行代码:python mlflow_tracking_ex.py

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破浪会有时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值