DVC 使用案例(二):共享数据与模型文件

简介: 与 Git 一样,DVC 允许在分布式环境进行协作。 我们可以轻松地将所有数据文件、目录以及匹配的源代码完全一样地导入任何机器。 您需要做的就是为您的 DVC 项目设置远程存储库,并将数据推送到那里,以便其他人可以访问它。 目前 DVC 支持 Amazon S3、Microsoft Azure Blob Storage、Google Drive、Google Cloud Storage、SSH、HDFS 和其他远程存储地址,并且该列表还在持续增长。 (一个完整的列表和配置说明,请参阅 dvc remote add。)

与 Git 一样,DVC 允许在分布式环境进行协作。 我们可以轻松地将所有数据文件、目录以及匹配的源代码完全一样地导入任何机器。 您需要做的就是为您的 DVC 项目设置远程存储库,并将数据推送到那里,以便其他人可以访问它。 目前 DVC 支持 Amazon S3Microsoft Azure Blob StorageGoogle DriveGoogle Cloud StorageSSHHDFS 和其他远程存储地址,并且该列表还在持续增长。 (一个完整的列表和配置说明,请参阅 dvc remote add。)

网络异常,图片无法展示
|


例如,我们来为 DVC 项目设置 S3 远程存储,并 pushpull 它。

创建 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 文件中配置的默认远程存储库下载缺失的数据文件。

相关文章
|
11月前
|
存储 IDE 数据挖掘
TCGA | 以项目方式管理代码数据 以及 数据读取存储
TCGA | 以项目方式管理代码数据 以及 数据读取存储
107 0
|
JavaScript
js如何拷贝元数据后,更改数据不对元数据有影响
js如何拷贝元数据后,更改数据不对元数据有影响
|
数据库
跨数据库表间数据Copy的源代码
跨数据库表间数据Copy的源代码
|
存储 缓存 文件存储
DVC 使用指南:如何共享 DVC 缓存?
具体场景如下: 多个用户在一台机器上拥有同一个项目的副本。 不同的项目使用相同的数据,因此集中在本地存储是有意义的。 有一个共享的 NAS 驱动或存储服务器安装在网络上。 您需要在工作的机器和共享的 GPU 服务器之间无缝共享数据(用于训练 ML 模型)
|
存储 机器学习/深度学习 缓存
DVC 使用案例(一):数据与模型版本管理
数据科学团队常常面临着数据和机器学习模型进行版本化的数据管理问题。我们应该如何一起跟踪数据、源代码和ML模型中的变化?组织和存储这些文件和目录变更的最佳方式是什么?
|
存储 SQL 缓存
DVC 使用指南:管理外部数据
⚠️ 这是针对特定情况的高级功能,除非绝对没有其他选择,否则不推荐使用。 在大多数情况下,dvc add 和 dvc import-url 的 to-cache 或 to-remote 策略更方便。
|
存储 机器学习/深度学习 缓存
DVC 使用案例(六):数据注册表
DVC 存储库的主要用途之一是数据和模型文件的版本控制。DVC 还支持这些数据制品跨项目复用。这意味着您的项目可以依赖于来自其他 DVC 存储库的数据,就像一个用于数据科学的包管理系统一样。
|
存储 机器学习/深度学习 API
快速入门DVC(四):下载数据与模型文件
你可能会有如下的问题: 我们如何在项目之外使用这些制品? 我们如何下载模型来部署它? 我们如何下载特定版本的模型? 我们如何在不同的项目中重用数据集?
|
存储 机器学习/深度学习 缓存
DVC 使用案例(四):快速且安全的数据缓存仓库
数据科学中使用的数据集往往超过平常的存储和网络容量。 随着越来越多的人获取相同的数据,存储需求迅速扩大,从而产生重复数据(增加成本)。 并且在每个环境中都等待下载,浪费了大量宝贵的时间。
|
存储 Linux 网络安全
DVC 使用指南:外部依赖
在某些情况下,数据太大,或者其处理的组织方式使其无法在本地机器磁盘中处理,最好避免将其从当前的外部位置移动。 例如,NAS 上的数据、在 HDFS 上处理数据、通过 SSH 运行 Dask,或者用于从 S3 流式传输数据以对其进行处理的脚本。