Interagire con i remote DVC

CI/CD per Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Capire i remote DVC

  • DVC remote: posizione per l'archiviazione dei dati
  • Simili ai remote di Git, ma per dati in cache
  • Vantaggi dei remote
    • Sincronizza file e cartelle grandi
    • Centralizza o distribuisci lo storage
    • Libera spazio locale
  • Tipi di storage supportati
    • Amazon S3, GCS, Google Drive
    • SSH, HTTP, file system locali
CI/CD per Machine Learning

Configurare i remote

  • Imposta i remote con il comando dvc remote add
  • Per AWS
dvc remote add myAWSremote s3://mybucket
  • Personalizza con dvc remote modify
dvc remote modify myAWSremote connect_timeout 300
  • Modifica in .dvc/config
 ['remote "myAWSremote"']
     url = s3://mybucket
     connect_timeout = 300
CI/CD per Machine Learning

Remote locali e predefiniti

  • I remote locali sono utili per prototipazione rapida
  • Usa directory di sistema o Network Attached Storage
dvc remote add mylocalremote /tmp/dvc
  • Imposta il remote predefinito con il flag -d
dvc remote add -d mylocalremote /tmp/dvc
  • Il remote predefinito è nella sezione core di .dvc/config
[core]
remote = mylocalremote
CI/CD per Machine Learning

Caricare e recuperare dati

  • Comandi per trasferire dati

    • Push al remote: dvc push <target>
    • Pull dal remote: dvc pull <target>
  • Simili a git push e git pull

    • I file .dvc sono tracciati da Git, non da DVC
  • Il target può essere un file: dvc push data.csv
    • Oppure l'intera cache: dvc push
  • Ignora il remote predefinito con il flag -r
dvc push -r myAWSremote data.csv
CI/CD per Machine Learning

Tracciare le modifiche ai dati

  • Modifica i contenuti dei file di dati, poi aggiungi le modifiche al dataset
dvc add /path/to/data/datafile
  • Fai commit del file .dvc modificato su Git
git add /path/to/datafile.dvc
git commit /path/to/datafile.dvc -m "Dataset updates"
  • Fai push dei metadati su Git
git push origin main
  • Carica il file di dati modificato
dvc push
CI/CD per Machine Learning

Esercitiamoci!

CI/CD per Machine Learning

Preparing Video For Download...