带有大量图像的机器学习数据集的版本控制?

use*_*333 6 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. 快速结帐/拉出

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

Von*_*onC 0

从另一种方式来看,如果我们压缩数据集并将其作为单个文件 dvc 进行跟踪,则工作速度足够快。但问题是,通过这种方式,我们无法跟踪特定文件的更改。

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

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