首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MLflow,一个机器学习生命周期管理的 Python 库!

MLflow,助你轻松搞定机器学习实验管理

搞机器学习的小伙伴都懂,跑实验的时候各种参数、模型版本满天飞,过段时间再看都忘了哪个效果最好。 MLflow 就是来解决这个头疼问题的,它就像是给你的机器学习项目装了个黑匣子,把实验过程中的一切都给记录下来。

1.

基本功能咋用

MLflow 主要帮咱们搞定四个事:实验跟踪、项目打包、模型管理和模型部署。不过咱先说最常用的实验跟踪功能。

import mlflow

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

# 开启实验记录

mlflow.start_run()

# 记录参数

mlflow.log_param(“n_estimators”, 100)

mlflow.log_param(“random_state”, 42)

# 训练模型

rf = RandomForestClassifier(n_estimators=100, random_state=42)

rf.fit(X_train, y_train)

# 记录指标

accuracy = rf.score(X_test, y_test)

mlflow.log_metric(“accuracy”, accuracy)

# 保存模型

mlflow.sklearn.log_model(rf, “random_forest_model”)

mlflow.end_run()

温馨提示:别忘了在代码开头加 mlflow.start_run(),结尾加 mlflow.end_run(),不然实验记录会乱糟糟的。

2.

UI 界面有多好使

跑完实验后,终端里敲个 mlflow ui 命令,哇塞,一个漂亮的网页界面就出来了!所有实验的参数、指标都能一目了然地看到,还能画图比较不同实验的结果。看着这些曲线图,找到最佳模型就跟玩似的。

3.

项目打包有点东西

MLflow 还能帮咱们把整个项目打包,包括代码、环境配置啥的都给整理好。写个 MLproject 文件就成:

name: my_project

conda_env: conda.yaml

entry_points:

main:

parameters:

n_estimators: {type: int, default: 100}

command: “python train.py --n_estimators {n_estimators}”

这样你把项目给别人的时候,人家直接用 mlflow run 就能复现你的实验结果,贼方便。

4.

模型部署也不难

训练好的模型想要部署?MLflow 内置了一个模型服务器:

# 加载已保存的模型

# 启动模型服务

噢对了,模型服务默认是跑在本地的 5000 端口上,要是端口被占用了就得换个端口号。

实验管理这活儿,要是没有 MLflow 这种工具,那就跟蒙着眼睛打架一样。有了它,实验记录清清楚楚,模型管理也变得特别轻松。记住啊,好记性不如烂笔头,多用工具帮咱们记录,少给自己找罪受。

在看的,麻烦点一下再走好吗

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OMiFi0zTRDTEkddykk4wCYXg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券