mlflow技术架构图及TensorFlow集成实践

1.准备与入门

  1. 进入自己的虚拟环境,安装MLflow pip install mlflow 注意:window的虚拟环境中可能需要使用 python3 -m pip install 来进行安装,否则会报错——
    python3 -m pip install 只在本环境中的python解释器下安装 并能被识别和使用。
    pip install 直接把包安装在pip所属的python解释器中,如果有相关依赖相,则可能无法使用
  2. 进入刚刚安装mlflow的虚拟环境中,输入mlflow ui,然后从浏览器进入   http://localhost:5000.

至此,如果顺利打开mlflow管理平台的页面,那么恭喜,你的准备工作完成了!

  1. 下面,我们在安装了mlflow的环境中,执行以下代码:

登录后复制

import os
import mlflow
from random import random, randint

mlflow.start_run()
# 记录参数
mlflow.log_param("param1", randint(0, 100))

# 记录指标
mlflow.log_metric("foo", random())
mlflow.log_metric("foo", random() + 1)
mlflow.log_metric("foo", random() + 2)

# 记录输出文件
if not os.path.exists("outputs"):
    os.makedirs("outputs")
with open("outputs/test.txt", "w") as f:
    f.write("hello world!")
mlflow.log_artifacts("outputs")
mlflow.end_run()

至此,如果聪明的你在运行结束后,在mlflow管理页面中看到相应的记录,那么恭喜,你已经入门了!

4.训练tensorflow模型,并使用autolog自动记录

详细还是直接看官网吧。。。有很多例子,都比较好理解,这里就不写了。
值得注意的是,autolog最大的作用是可以类似tensorboard实时记录训练loss曲线。但是他自带的参数记录和指标记录并不一定满足我们的需求,那就需要再自定义,甚至修改源码。

但是如果你的一个实验记录是有多个模型的训练取平均值,那么这里的训练loss就会混杂在一起,因此需要忽略。因此,笔者这里采用的方式,还是单个模型用tensorboard记录,最后手动自定义记录参数和指标。

5.配置mlflow跟踪服务器及数据库

登录后复制


mlflow server \
--host 0.0.0.0 \
--backend-store-uri mysql://root:password@192.168.0.xxx:3306/mlflow \
--default-artifact-root /path/mlflow/mlruns \
--artifacts-destination /path/mlflow/mlartifacts

解释一下,mlflow server是开启后端mlflow服务,在我的理解看来,和刚开始学习到的mlflow ui作用基本相同,只不过更加详细和专业化。
在上述代码中,分别制定了:

  • 允许登录的ip范围,0.0.0.0指任何ip地址
  • 后端数据库(sqlalchemy支持)
  • 主文件位置
  • 人工生成附件保存位置

当我们在服务器上开启上了以上服务,在其他的电脑中,就需要设置以下路径来记录到服务器中:

登录后复制


import mlflow
mlflow.set_tracking_uri("http://your-experiment-tracking-server")
mlflow.set_experiment("your-experiment-name")

6.训练过程可视化、模型比较可视化

自己稍微摸索一下应该都能懂。。。这里我具体介绍一下mlflow支持的模型比较可视化图形。

  1. 任选多个需要比较的模型结果
  2. 拉到最下方,可以看到,有三个图可以展示。分别是二维散点图(可以一维特征对应一维指标)、三维等高线图(可以二维特征对应一维指标)、多维平行坐标图(可以多维特征对应多维指标)

其中,第三个多维平行坐标图是我认为功能最为强大的特征-指标可视化方法,可以支持多维度特征与多维度指标的相关性展示,对我们训练模型不同参数的作用有很大帮助。

               

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空