Introduzione al versionamento dei dati con DVC
Ravi Bhadauria
Machine Learning Engineer
stages:
preprocess:
cmd: python3 preprocess.py
params:
- preprocess
deps:
- preprocess.py
- raw_data.csv
outs:
- processed_data.csv
stages:
train_and_evaluate:
cmd: python3 train_and_evaluate.py
params:
- train_and_evaluate
deps:
- processed_data.csv
- train_and_evaluate.py
outs:
- plots.png
- metrics.json
dvc repro$ dvc repro
Esecuzione stage 'preprocess': > python preprocess.pyEsecuzione stage 'train_and_evaluate': > python train_and_evaluate.py Aggiornamento del file di lock 'dvc.lock'
dvc.lock.dvc, salva hash MD5$ git add dvc.lock && git commit -m "first pipeline run"
$ dvc repro
Stage 'preprocess' invariato, salto
Esecuzione stage 'train_and_evaluate' con comando: ...

--dry per stampare i comandi senza eseguire la pipeline$ dvc repro --dry
Esecuzione stage 'preprocess':
> python3 preprocess_dataset.py
Esecuzione stage 'train_and_evaluate':
> python3 train_and_evaluate.py
dvc repro linear/dvc.yamldvc.yaml nella stessa cartelladvc repro <target_stage>dvc repro -fdvc repro --no-commitdvc commit dopo
# Esegui A2 e le sue dipendenze a monte
$ dvc repro A2
# Esegui B2 e le sue dipendenze a monte
$ dvc repro B2
$ dvc repro train
Stage 'A2' invariato, salto
Stage 'B2' invariato, salto
Esecuzione stage 'train' con comando: ...
Introduzione al versionamento dei dati con DVC