Introduzione a DVC

Introduzione al versionamento dei dati con DVC

Ravi Bhadauria

Machine Learning Engineer

Git come sistema di versionamento

  • Sistema di versionamento del codice
  • Sviluppo locale indipendente
    • Branch e merge
    • Gestione della cronologia
  • Favorisce la collaborazione

Schema del modello decentralizzato di Git

Introduzione al versionamento dei dati con DVC

Git come sistema di versionamento

  • Interazione via CLI
  • Esecuzione nel terminale (shell)
  • Git traccia i contenuti con un repository
    • File/cartelle reali da tracciare
    • Metadati di Git (cartella .git)

Immagine della struttura di un repository Git

Introduzione al versionamento dei dati con DVC

Data Version Control (DVC)

  • DVC: strumento di Data Version Control
    • Gestisce dati ed esperimenti
    • Simile a Git

Immagine concettuale del versionamento dei dati con Git e DVC.png

  • Git traccia i metadati, DVC gestisce il versionamento dei dati
Introduzione al versionamento dei dati con DVC

CLI: Git vs DVC

Git

  • Inizializza un repository nella cartella di lavoro
$ git init
  • Aggiungere file al repository (staging)
$ git add code.py
  • Fare commit delle modifiche (nella cronologia)
$ git commit -m "adding first file"

DVC

  • Inizializza il repository DVC nella cartella di lavoro
$ dvc init
  • Aggiungere file di dati a DVC
$ dvc add data/mydata.csv
  • Aggiornare tutti i file di dati tracciati
$ dvc commit
Introduzione al versionamento dei dati con DVC

CLI: Git vs DVC

Git

  • Push delle modifiche al server remoto
$ git push
  • Pull delle modifiche dal remoto
$ git pull
  • Clonare un repository esistente dal remoto (GitHub)
$ git clone \
https://github.com/username/repository-name.git

DVC

  • Push dei dati al server dati remoto
$ dvc push
  • Sincronizzare il progetto DVC
$ dvc pull
  • Scaricare un file o una cartella tracciati da DVC
$ dvc get \
https://github.com/username/repo-name model.pkl
Introduzione al versionamento dei dati con DVC

Alleniamoci!

Introduzione al versionamento dei dati con DVC

Preparing Video For Download...