Interagindo com remotes do DVC

CI/CD para Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Entendendo os remotes do DVC

  • Remotes do DVC: local de armazenamento de dados
  • Parecidos com remotes do Git, mas para dados em cache
  • Benefícios de usar remotes
    • Sincronizar arquivos e pastas grandes
    • Centralizar ou distribuir o armazenamento
    • Economizar espaço local
  • Tipos de armazenamento compatíveis
    • Amazon S3, GCS, Google Drive
    • SSH, HTTP, sistemas de arquivos locais
CI/CD para Machine Learning

Configurando remotes

  • Defina remotes com o comando dvc remote add
  • Para AWS
dvc remote add myAWSremote s3://mybucket
  • Personalizações com dvc remote modify
dvc remote modify myAWSremote connect_timeout 300
  • Alteração em .dvc/config
 ['remote "myAWSremote"']
     url = s3://mybucket
     connect_timeout = 300
CI/CD para Machine Learning

Remotes locais e padrão

  • Remotes locais servem para prototipagem rápida
  • Use diretórios do sistema ou Network Attached Storage
dvc remote add mylocalremote /tmp/dvc
  • Defina o remote padrão com a flag -d
dvc remote add -d mylocalremote /tmp/dvc
  • Remote padrão configurado na seção core de .dvc/config
[core]
remote = mylocalremote
CI/CD para Machine Learning

Enviar e recuperar dados

  • Comandos para transferir dados

    • Enviar para o remote: dvc push <target>
    • Buscar do remote: dvc pull <target>
  • Semelhante a git push e git pull

    • .dvc é versionado pelo Git, não pelo DVC
  • O alvo pode ser um arquivo dvc push data.csv
    • Ou todo o cache dvc push
  • Substitua o remote padrão com a flag -r
dvc push -r myAWSremote data.csv
CI/CD para Machine Learning

Rastreando mudanças nos dados

  • Altere o conteúdo do arquivo de dados e adicione as mudanças
dvc add /path/to/data/datafile
  • Faça commit do arquivo .dvc alterado no Git
git add /path/to/datafile.dvc
git commit /path/to/datafile.dvc -m "Dataset updates"
  • Envie o metadata para o Git
git push origin main
  • Envie o arquivo de dados alterado
dvc push
CI/CD para Machine Learning

Vamos praticar!

CI/CD para Machine Learning

Preparing Video For Download...