DVC节点

综述

DVC(Data Version Control) 是一个MLops领域一个优秀的开机器学习版本管理系统。

DVC 组件用于在DS上使用DVC的数据版本管理功能,帮助用户简易地进行数据的版本管理。组件提供如下三个功能:

  • Init DVC: 将git仓库初始化为DVC仓库,并绑定存储数据的地址用于存储实际的数据。
  • Upload: 将特定数据添加或者更新到仓库中,并记录版本号。
  • Download: 从仓库中下载特定版本的数据。

创建任务

  • 点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;
  • 拖动工具栏的 DVC - 图1 任务节点到画板中。

任务样例

任务参数 描述
DVC任务类型 可以选择 Upload、Download、Init DVC
DVC仓库 任务执行时关联的仓库地址

Init DVC

将git仓库初始化为DVC仓库, 并绑定数据储存的地方。

项目初始化后,仍然为git仓库,不过添加了DVC的特性。

实际上数据并不保存在git仓库,而是存储在另外的地方,DVC会跟踪数据的版本和地址,并处理好这个关系。

dvc_init

任务参数

如上述例子表示: 将仓库 git@github.com:<YOUR-NAME-OR-ORG>/dvc-data-repository-example.git 初始化为DVC项目,并绑定远程储存地址为 ~/dvc

Upload

用于上传和更新数据,并记录版本号。

dvc_upload

任务参数

  • DVC仓库中的数据路径 :上传的数据保存到仓库的地址。
  • Worker中数据路径 :需要上传的数据的地址。
  • 数据版本 :上传数据后,为该版本数据打上的版本号,会保存到 git tag 里面。
  • 数据版本信息 :本次上传需要备注的信息。

如上述例子表示: 将数据 /home/data/iris 上传到仓库 git@github.com:<YOUR-NAME-OR-ORG>/dvc-data-repository-example.git 的根目录下,数据的文件/文件夹名字为iris。 然后执行 git tag "iris_1.0" -m "init iris data"。 记录版本号 iris_1.0和 版本信息 ‘inir iris data’

Download

用于下载特定版本的数据。

dvc_download

任务参数

  • DVC仓库中的数据路径 :需要下载数据在仓库中的路径。
  • Worker中数据路径 :数据下载到本地后的保存地址。
  • 数据版本 :需要下载的数据的版本。

如上述例子表示: 将仓库 git@github.com:xxxx/dvc-data-repository-example.git 版本为 iris_1.0 的 iris 的数据下载到 ~/dvc_test/iris

环境准备

dvc 安装

确保你已经安装DVC可以使用pip install dvc进行安装。

获取dvc地址, 并配置环境变量

下面以 conda 上的 python pip 安装为例子,配置 conda 的环境变量,使得组件能正确找到dvc命令

  1. which dvc
  2. # >> ~/anaconda3/bin/dvc

你需要进入admin账户配置一个conda环境变量(请提前安装anaconda 或者安装miniconda )。

dvc_env_config

后续注意配置任务时,环境选择上面创建的conda环境,否则程序会找不到conda环境。

dvc_env_name