适用于包含大量图像的机器学习数据集的版本控制?

时间:2019-05-08 07:33:25

标签: git machine-learning google-cloud-storage dvc

我们开始将dvc与git一起使用以控制机器学习项目的版本控制。 对于dvc远程存储,我们使用Google云存储。

我们的数据集是包含超过100000张小图像的OCR数据集,总大小约为200 MB。 使用dvc跟踪此数据集时,我们遇到了下一个问题:

  1. 添加大量用于跟踪的数据集。
  2. 上传非常慢。
  3. 下载速度非常慢。
  4. 仅更新/删除/添加数据集中的一张图像会导致dvc重新计算 很多东西:哈希等...

从另一种角度来看,如果我们压缩数据集并以单个文件dvc的方式跟踪数据足够快,但是问题在于这种方式无法跟踪特定文件的更改。

目标是对具有大量文件的数据集进行版本控制,并具有下一个功能。

  1. 跟踪每个文件。
  2. 仅提交更改,而不提交整个数据集。
  3. 快速结帐/拉出

任何有关更好解决方案的建议都可以接受。

1 个答案:

答案 0 :(得分:0)

  

从另一种角度来看,如果我们压缩数据集并以单个文件dvc的方式跟踪数据足够快,但是问题在于这种方式无法跟踪特定文件的更改。

zip文件是正确的方法,与Git LFS结合使用可以存储该zip文件的许多修订版本。

您可以用一个列出所有图像的文本文件来补充该归档文件,每个文件都带有一个注释,描述对其所做的任何更改:这样,由于txt文件将与归档文件的任何新修订一起提交,因此您仍然可以能够获取存档元素中所做更改的列表和性质。