配置 DVC 远程存储

DVC 数据版本管理入门

Ravi Bhadauria

Machine Learning Engineer

回顾

  • 初始化 DVC 仓库
    • 运行 dvc init
    • 仓库位于工作区(/path/to/my-project
  • 设置 DVC 缓存
    • .dvc 目录中的临时暂存区
      • /path/to/my-project/.dvc/cache
    • dvc add 暂存临时文件
  • 现在:DVC 远程
    • 外部存储
    • 跟踪与共享资源
DVC 数据版本管理入门

为何需要 DVC 远程

  • DVC 远程:数据存储位置
  • 类似 Git 远程,但针对"缓存"数据
  • 使用远程的好处
    • 同步大型文件和目录
    • 集中或分布式存储
    • 节省本地空间

从 DVC 工作区到缓存与远程的 数据流示意图

DVC 数据版本管理入门

支持的存储类型

DVC 支持的存储类型图示

DVC 数据版本管理入门

配置远程

  • 设置远程

    • dvc remote add <name> <location>
  • S3 桶

$ dvc remote add s3_remote \
   s3://mys3bucket
  • DVC 配置变更
 ['remote "s3_remote"']
     url = s3://mys3bucket
  • GCP 桶
$ dvc remote add gcp_remote \
   gs://myGCPbucket
  • Azure
$ dvc remote add azure_remote \
   azure://mycontainer/path
DVC 数据版本管理入门

本地远程

  • 本地远程用于快速原型开发
  • 使用系统目录或网络附加存储(NAS)
$ dvc remote add mylocalremote /tmp/dvc
  • -d 将远程设为默认
$ dvc remote add -d mylocalremote /tmp/dvc
  • 默认远程在 .dvc/configcore 段中设置
[core]
remote = mylocalremote
DVC 数据版本管理入门

列出远程

  • 列出远程
$ dvc remote list
s3_remote    s3://mys3bucket
local_remote /tmp/dvcremote
  • 读取自 .dvc/config
 ['remote "s3_remote"']
     url = s3://mys3bucket
 ['remote "local_remote"']
     url = /tmp/dvcremote
DVC 数据版本管理入门

修改远程配置

  • 使用 dvc remote modify 进行自定义
$ dvc remote modify s3_remote connect_timeout 300
  • DVC 配置文件变化
 ['remote "s3_remote"']
     url = s3://mys3bucket
     connect_timeout = 300
DVC 数据版本管理入门

小结

  • DVC 远程用于共享数据与模型
  • 支持多种本地与云端存储
  • 添加远程:dvc remote add
    • -d 指定默认
  • 列出远程:dvc remote list
  • 修改远程:dvc remote modify
DVC 数据版本管理入门

Vamos praticar!

DVC 数据版本管理入门

Preparing Video For Download...