我正在尝试为具有不同标记版本的数据集的机器学习数据设置 DVC 存储库。我这样做是这样的:
$ cd /raid/ml_data # folder on a data drive
$ git init
$ dvc init
$ [add data]
$ [commit to dvc, git]
$ git tag -a 1.0.0
$ [add or change data]
$ [commit to dvc, git]
$ git tag -a 1.1.0
我有多个项目,每个项目都需要引用该数据集的某个版本。问题是我不知道如何设置这些项目以引用特定版本。我可以通过以下方式跟踪HEAD
回购:
$ cd ~/my_proj # different drive than the remote
$ mkdir data
$ git init
$ dvc init
$ dvc remote add -d local /raid/ml_data # add the remote on my data drive
$ dvc cache dir /raid/ml_data/.dvc/cache # tell DVC to use the remote cache
$ dvc checkout
$ dvc run --external -d /raid/ml_data -o data/ cp -r /raid/ml_data data
这让我获得了最新版本的数据集,符号链接到我的data
文件夹中,但是如果我希望一些项目使用该1.0.0
版本,而一些项目使用该1.1.0
版本,或者另一个版本怎么办?或者就此而言,如果我将数据集更新为2.0.0
但不希望我现有的项目必须跟踪HEAD
并保留设置它们的版本?
不要为我的数据集创建大量本地副本对我来说很重要,因为/home
驱动器比驱动器小得多,/raid
而且其中一些数据集很大。