前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 git 和 dvc 解决版本控制机器学习模型

使用 git 和 dvc 解决版本控制机器学习模型

作者头像
AI研习社
发布2019-08-20 16:52:44
3.2K0
发布2019-08-20 16:52:44
举报
文章被收录于专栏:AI研习社

原标题 | Version Control ML Model

作 者 | Tianchen Wu

翻 译 | 呀啦呼(Tufts University)

具体情况请查看官网:https://dvc.org

和传统的软件开发操作(简称devOps)相比,机器学习操作(简称mlOps)。其中一个原因在于除了代码这种小型简单文件,机器学习实验需要大型数据库和模型组件。

本文介绍一个使用git和dvc(Data Version Control:https://dvc.org/doc/tutorial)来对机器学习模型版本控制的方案。

方案中伴随提供以下四个功能属性:

1. 机器学习模型需要具备可扩展性(scalability)、安全性(security)、可用性(availability)和几乎无限的存储空间;

2. 机器学习模型受到版本控制,举个例子,我们可以方便的标记或者访问任一个特定版本;

3. 通过分析代码和版本控制数据库,可以确保机器学习模型的可审计性(Auditability)、透明度(transparency)和可重复性(reproducibility);

4. 基于现有的模型设置,可以快速的启动新的实验。

Git 和 DVC

方案包括两层版本控制:

1. git: 处理代码和数据集和模型组件的元数据;

2. dvc: 处理大型数据集和模型组件。

首先,准备好项目文件夹,安装好工具(按图索骥,一步一步的抄就行了)

代码语言:javascript
复制

然后把dvc连接上数据集和模型组件所在的后端数据库(以AWS S3为例)。

代码语言:javascript
复制
dvc remote add -d s3remote s3://my-test-bucket-dvc/myproject

现在在机器学习实验所在示例版本文件夹中,应该包含两个元数据子文件夹。

代码语言:javascript
复制

工作流程

下一步我们从dvc.org下载数据和脚本来训练模型(宝贝们,继续开心地copy & paste)。

代码语言:javascript
复制

获取了模型(model.h5),使用dvc+ git来进行版本控制。

第一步,把模型元数据加入到dvc中

代码语言:javascript
复制
dvc add model.h5

输出如下:

咱们可以看到:

  • “真实”的模型存储在位置: .dvc/cache/40
  • 模型元数据 model.h5.dvc 记录了它到底在哪儿

第二步,咱们把它推送到后端存储来保持模型

代码语言:javascript
复制
dvc push model.h5.dvc

在AWS s3中, 偶们阔以查看是否我们严格的遵循了模型元数据的指令来存储模型(看不懂?么事么事,下面有图)

第三步,使用git来保存模型元数据

模型元数据可以把我们引向存储在后端的真实模型对象。为了避免丢失,我们应该使用git把它添加到版本控制中。

代码语言:javascript
复制

使用"git tag"来记录模型版本。

第四步, 想嘛时候玩模型,就嘛时候

从git上可以查看到模型元数据。我们非常容易通过搜索 git branch上的tag来找到模型的特定版本。

代码语言:javascript
复制
git checkout tags/ -b

通过元数据,偶们阔以顺顺利利地找到模型对象并下载到现在的workspace。

代码语言:javascript
复制
dvc pull model.h5.dvc

结论

通过类似的方法,机器学习实验中的大型数据集版本控制问题阔以被解决咯~其他还有些方法,有时间的话就看看mlflow(https://mlflow.org/), datanami (https://www.datanami.com/)和 sacred(https://github.com/IDSIA/sacred)呗。

via https://towardsdatascience.com/version-control-ml-model-4adb2db5f87c

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Git 和 DVC
  • 工作流程
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档