DVC 缓存与暂存文件

DVC 数据版本管理入门

Ravi Bhadauria

Machine Learning Engineer

DVC 缓存

  • 隐藏存储已跟踪的数据文件与版本
  • 在提交前暂存临时文件
    • 适合大型数据集与二进制文件
  • 位于工作区的 .dvc 目录内
    • 可配置位置
      $ dvc cache dir ~/mycache
      

工作区内 DVC 结构的图像

DVC 数据版本管理入门

将文件加入缓存

  • 将数据文件添加到 dvc
$ dvc add data.csv
100% Adding...|====================|1/1 [00:00, 53.55file/s]

To track the changes with git, run:
    git add data.csv.dvc
To enable auto staging, run:
    dvc config core.autostage true
DVC 数据版本管理入门

.dvc 文件

  • 每个 DVC 跟踪的文件都有对应的 .dvc 文件

    • data.csv -> data.csv.dvc
  • 要为数据文件建版本,用 git commit -m "data.csv.dvc"

  • .dvc 文件的内容

outs:

- md5: f38a850818377e97155d22755caa39d0
size: 16
hash: md5
path: data.csv
DVC 数据版本管理入门

与 DVC 缓存交互

  • 缓存文件路径使用 MD5 值
$ find .dvc/cache -type f
.dvc/cache/f3/8a850818377e97155d22755caa39d0
  • 计算数据集的 MD5
$ md5 data.csv
MD5 (data.csv) = f38a850818377e97155d22755caa39d0
DVC 数据版本管理入门

与 DVC 缓存交互

  • 使用 dvc add -v 获取详细输出

运行 dvc add 并带 -v 标志的输出图像

DVC 数据版本管理入门

移除与清理缓存

  • dvc remove 移除已添加的文件
$ dvc remove data.csv.dvc
  • 清理缓存用 dvc gc
    • 搭配 -w 删除工作区缓存
$ dvc gc -w
WARNING: This will remove all cache except items used in the workspace of the current repo.
Are you sure you want to proceed? [y/n]: y
Removed 1 objects from repo cache.
DVC 数据版本管理入门

总结

  • DVC 在提交前会暂存数据文件
  • 可配置缓存位置
    • dvc cache dir ~/mycache
  • 将文件加入缓存
    • dvc add data.csv
    • 生成含元数据的 .dvc 文件
  • 移除已添加文件 dvc remove data.csv.dvc
    • dvc gc -w 清理工作区缓存
DVC 数据版本管理入门

开始练习吧!

DVC 数据版本管理入门

Preparing Video For Download...