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
Running stage 'preprocess': > python preprocess.pyRunning stage 'train_and_evaluate': > python train_and_evaluate.py Updating lock file 'dvc.lock'
dvc.lock이 생성됨.dvc 파일과 유사하며 MD5 해시를 기록$ git add dvc.lock && git commit -m "first pipeline run"
$ dvc repro
Stage 'preprocess' didn't change, skipping
Running stage 'train_and_evaluate' with command: ...

--dry 플래그 사용$ dvc repro --dry
Running stage 'preprocess':
> python3 preprocess_dataset.py
Running stage 'train_and_evaluate':
> python3 train_and_evaluate.py
dvc repro linear/dvc.yamldvc.yaml은 불가dvc repro <target_stage>dvc repro -fdvc repro --no-commitdvc commit 사용
# A2와 그 상류 의존성 실행
$ dvc repro A2
# B2와 그 상류 의존성 실행
$ dvc repro B2
$ dvc repro train
Stage 'A2' didn't change, skipping
Stage 'B2' didn't change, skipping
Running stage 'train' with command: ...
DVC로 배우는 데이터 버저닝 입문