【问题标题】:Updating tracked dir in DVC更新 DVC 中的跟踪目录
【发布时间】:2019-05-24 03:10:22
【问题描述】:

根据this tutorial,当我更新文件时,我应该先从 DVC 控制下删除文件(即执行dvc unprotect <myfile>.dvcdvc remove <myfile>.dvc),然后通过dvc add <mifile> 再次添加它。但是不清楚我是否应该对目录应用相同的工作流程。

我的目录在 DVC 控制下,结构如下:

data/
    1.jpg
    2.jpg

是否应该在每次更新目录内容时运行dvc unprotect data

更具体地说,如果我应该在以下用例中运行 dvc unprotect data,我很感兴趣:

  • 添加了新文件。例如,如果我将3.jpg 图像放在数据目录中
  • 文件已删除。例如,如果我删除 data 目录中的 2.jpg 图像
  • 文件已更新。例如,如果我通过图形编辑器编辑 1.jpg 图像。
  • 以前用例的组合(即更新了一些文件,删除了其他文件并添加了新文件)

【问题讨论】:

    标签: dvc


    【解决方案1】:

    仅当文件更新时 - 即使用编辑器编辑 1.jpgAND 仅在启用 hadrlink 或符号链接缓存类型时。

    请检查这个link

    当 DVC 配置选项 cache.type 设置为硬链接或/和符号链接时,必须谨慎执行更新跟踪文件以避免数据损坏

    我强烈建议阅读此文档:Performance Optimization for Large Files 它解释了使用硬链接/符号链接的好处。

    【讨论】:

    • 如何检查 cach.type 是否为硬链接/符号链接?执行“dvc config --local cache.type”会给我“配置文件错误:‘缓存’部分不存在”。 “--system”和“--global”选项也是如此。
    • 默认值为reflink,copy,所以不使用硬链接、符号链接。没有选项可以获取配置的当前有效值 - 您需要在此处查看文档dvc.org/doc/commands-reference/config#configuration-sections .. 您能否在 github 上提交功能请求以便能够打印当前配置?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 2010-12-23
    相关资源
    最近更新 更多