与 DVC 远程交互

面向机器学习的 CI/CD

Ravi Bhadauria

Machine Learning Engineer

理解 DVC 远程

  • DVC 远程:数据存储位置
  • 类似 Git 远程,但用于"缓存"数据
  • 使用远程的好处
    • 同步大型文件和目录
    • 集中或分布式存储
    • 节省本地空间
  • 支持的存储类型
    • Amazon S3、GCS、Google Drive
    • SSH、HTTP、本地文件系统
面向机器学习的 CI/CD

配置远程

  • 使用 dvc remote add 设置远程
  • 以 AWS 为例
dvc remote add myAWSremote s3://mybucket
  • dvc remote modify 做自定义
dvc remote modify myAWSremote connect_timeout 300
  • .dvc/config 的变更
 ['remote "myAWSremote"']
     url = s3://mybucket
     connect_timeout = 300
面向机器学习的 CI/CD

本地与默认远程

  • 本地远程适合快速原型开发
  • 可用系统目录或网络附加存储(NAS)
dvc remote add mylocalremote /tmp/dvc
  • -d 标记设置默认远程
dvc remote add -d mylocalremote /tmp/dvc
  • 默认远程在 .dvc/configcore 段中指定
[core]
remote = mylocalremote
面向机器学习的 CI/CD

上传与获取数据

  • 传输数据的命令

    • 推送到远程:dvc push <target>
    • 从远程拉取:dvc pull <target>
  • 类似于 git pushgit pull

    • .dvc 由 Git 跟踪,而非 DVC
  • 目标可为单个文件:dvc push data.csv
    • 或整个缓存:dvc push
  • -r 覆盖默认远程
dvc push -r myAWSremote data.csv
面向机器学习的 CI/CD

跟踪数据变更

  • 修改数据文件内容,然后添加数据集变更
dvc add /path/to/data/datafile
  • 将变更后的 .dvc 文件提交到 Git
git add /path/to/datafile.dvc
git commit /path/to/datafile.dvc -m "Dataset updates"
  • 将元数据推送到 Git
git push origin main
  • 上传已变更的数据文件
dvc push
面向机器学习的 CI/CD

Passons à la pratique !

面向机器学习的 CI/CD

Preparing Video For Download...