这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战
与 Git 一样,DVC 允许在分布式环境进行协作。 我们可以轻松地将所有数据文件、目录以及匹配的源代码完全一样地导入任何机器。 您需要做的就是为您的 DVC 项目设置远程存储库,并将数据推送到那里,以便其他人可以访问它。 目前 DVC 支持 Amazon S3、Microsoft Azure Blob Storage、Google Drive、Google Cloud Storage、SSH、HDFS 和其他远程存储地址,并且该列表还在持续增长。 (一个完整的列表和配置说明,请参阅 dvc remote add。)
例如,我们来为 DVC 项目设置 S3 远程存储,并 push 或 pull 它。
创建 S3 存储桶
如果您的 S3 账户中还没有可用的,请按照创建存储桶中的说明进行操作。 作为更高级的可选方案,您可以改用 aws s3 mb 命令作为替代。
设置 DVC 远程存储
要在项目中实际配置 S3 远程存储,请向 dvc remote add 命令提供用来存储数据的存储桶 URL ,如下所示:
$ dvc remote add -d myremote s3://mybucket/path
Setting 'myremote' as a default remote.
其中,-d (--default) 参数将 myremote 设置为该项目的默认远程存储。这会将 myremote 添加到您的 .dvc/config 中。 配置文件中现在有一个remote部分:
['remote "myremote"']
url = s3://mybucket/path
[core]
remote = myremote
dvc remote modify 命令提供了多种配置 S3 存储桶的参数选项。
下面,我们提交更改并推送代码到 Git 远程仓库:
$ git add .dvc/config
$ git push
上传数据和代码
使用 dvc run 或其他命令将数据添加到项目后,它将存储在本地缓存中。 使用 dvc push 命令将其上传到远程存储:
dvc push
下载代码
下面使用常规的 Git 命令从您的 Git 服务器下载代码和 DVC 元数据文件。
例如,本地没有的项目,使用git clone:
$ git clone https://github.com/example/project.git
$ cd myproject
对于本地已有的项目,使用git pull:
$ git pull
下载数据
为您的项目下载数据文件,请运行dvc pull:
$ dvc pull
dvc pull 将从 .dvc/config 文件中配置的默认远程存储库下载缺失的数据文件。