Configurare i remote DVC

Introduzione al versionamento dei dati con DVC

Ravi Bhadauria

Machine Learning Engineer

Ripasso

  • Inizializzare il repository DVC
    • Esegui dvc init
    • Repo dentro la workspace (/path/to/my-project)
  • Configurare la cache DVC
    • Area di staging temporanea nella directory .dvc
      • /path/to/my-project/.dvc/cache
    • Metti in stage file temporanei con dvc add
  • Ora: Remote DVC
    • Storage esterno
    • Traccia e condividi asset
Introduzione al versionamento dei dati con DVC

Perché servono i remote DVC

  • Remote DVC: posizione per l’archiviazione dei dati
  • Simili ai remote Git, ma per dati in cache
  • Vantaggi dei remote
    • Sincronizza file e directory grandi
    • Centralizza o distribuisci lo storage
    • Risparmia spazio locale

Schema del flusso dati dalla workspace DVC alla cache e al remote

Introduzione al versionamento dei dati con DVC

Tipi di storage supportati

Grafica dei tipi di storage supportati in DVC

Introduzione al versionamento dei dati con DVC

Configurare i remote

  • Configurare i remote

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

$ dvc remote add s3_remote \
   s3://mys3bucket
  • Modifiche alla config DVC
 ['remote "s3_remote"']
     url = s3://mys3bucket
  • Bucket GCP
$ dvc remote add gcp_remote \
   gs://myGCPbucket
  • Azure
$ dvc remote add azure_remote \
   azure://mycontainer/path
Introduzione al versionamento dei dati con DVC

Remote locali

  • I remote locali servono per prototipare velocemente
  • 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 è assegnato nella sezione core di .dvc/config
[core]
remote = mylocalremote
Introduzione al versionamento dei dati con DVC

Elencare i remote

  • Elencare i remote
$ dvc remote list
s3_remote    s3://mys3bucket
local_remote /tmp/dvcremote
  • Legge da .dvc/config
 ['remote "s3_remote"']
     url = s3://mys3bucket
 ['remote "local_remote"']
     url = /tmp/dvcremote
Introduzione al versionamento dei dati con DVC

Modificare la configurazione del remote

  • Personalizza con dvc remote modify
$ dvc remote modify s3_remote connect_timeout 300
  • Modifica nel file di config DVC
 ['remote "s3_remote"']
     url = s3://mys3bucket
     connect_timeout = 300
Introduzione al versionamento dei dati con DVC

Riepilogo

  • I remote DVC servono per condividere dati e modelli ML
  • Supportano vari storage locali e cloud
  • Aggiungi remote: dvc remote add
    • Usa il flag -d per impostare il predefinito
  • Elenca i remote: dvc remote list
  • Modifica i remote: dvc remote modify
Introduzione al versionamento dei dati con DVC

Aly, esercitiamoci!

Introduzione al versionamento dei dati con DVC

Preparing Video For Download...