假设我运行以下命令:
# set up DVC
mkdir foo
cd foo && git init
dvc init
git add * && git commit -m "dvc init"
# make a data file
mkdir -p bar/biz
touch bar/biz/boz
# add the data file
dvc add bar/biz/bozDVC的产出如下:
To track the changes with git, run:
git add bar/biz/.gitignore bar/biz/boz.dvc最后一部分是我想要避免的。最好,DVC只更改顶级.gitignore (位于执行git init的项目根目录下),并且只更改顶层的DVC文件。
--原因如下:
我有一个相当大的数据集开发在一个原始的工作或多或少是临时的。这些数据没有系统地组织起来,我也不想按原样组织它.
相反,我想增量地将这个老的定制数据添加到DVC目录树中。每次我将一些数据添加到树中时,我都想将其与DVC签入,就像修改代码或将一个项目的代码混合到另一个项目中一样。
但是,DVC希望在我添加的每个位置创建一个本地文件和gitignore。这造成了混乱,我没有合理的理由相信,维护所有这些原子和分布式数据存储将是很容易的。
问题:
在DVC中增量添加数据的首选方法是什么,以便DVC使用根gitignore和根DVC文件/项?
发布于 2022-06-16 03:22:11
假设bar/是增量添加到的dataset目录,则可以改为
dvc add bar这将创建一个bar.dvc文件,并在顶层写入.gitignore。
更新bar/中的内容时,再次使用dvc add或使用dvc commit注册新的数据集版本。新文件被添加到项目缓存中,.dvc文件获得一个更新的md5哈希,该哈希标识为最新的目录结构。
一些医生:
https://dvc.org/doc/start/data-management#making-changes
https://dvc.org/doc/command-reference/add
https://dvc.org/doc/user-guide/project-structure/internal-files#structure-of-the-cache-directory
https://stackoverflow.com/questions/72622280
复制相似问题