pip install mlflow
注意:window的虚拟环境中可能需要使用 python3 -m pip install 来进行安装,否则会报错——mlflow ui
,然后从浏览器进入 http://localhost:5000.至此,如果顺利打开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管理页面中看到相应的记录,那么恭喜,你已经入门了!
详细还是直接看官网吧。。。有很多例子,都比较好理解,这里就不写了。
值得注意的是,autolog最大的作用是可以类似tensorboard实时记录训练loss曲线。但是他自带的参数记录和指标记录并不一定满足我们的需求,那就需要再自定义,甚至修改源码。
但是如果你的一个实验记录是有多个模型的训练取平均值,那么这里的训练loss就会混杂在一起,因此需要忽略。因此,笔者这里采用的方式,还是单个模型用tensorboard记录,最后手动自定义记录参数和指标。
登录后复制
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
作用基本相同,只不过更加详细和专业化。
在上述代码中,分别制定了:
当我们在服务器上开启上了以上服务,在其他的电脑中,就需要设置以下路径来记录到服务器中:
登录后复制
import mlflow
mlflow.set_tracking_uri("http://your-experiment-tracking-server")
mlflow.set_experiment("your-experiment-name")
自己稍微摸索一下应该都能懂。。。这里我具体介绍一下mlflow支持的模型比较可视化图形。
其中,第三个多维平行坐标图是我认为功能最为强大的特征-指标可视化方法,可以支持多维度特征与多维度指标的相关性展示,对我们训练模型不同参数的作用有很大帮助。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删