Introduction au versionnage des données avec DVC
Ravi Bhadauria
Machine Learning Engineer
Suite d'étapes définissant le flux de travail Machine Learning et ses dépendances
Définies dans le fichier dvc.yaml
deps)params)cmd)outs)metrics et plotsdvc stage adddvc stage add \
-n preprocess \
-p params.yaml:preprocess \
-d raw_data.csv \
-d preprocess.py \
-o processed_data.csv \
python3 preprocess.py
stages:
preprocess:
cmd: python3 preprocess.py
params:
# Keys from params.yaml
- params.yaml
- preprocess
deps:
- preprocess.py
- raw_data.csv
outs:
- processed_data.csv
dvc stage add \
-n train_and_evaluate \
-p train_and_evaluate \
-d train_and_evaluate.py \
-d processed_data.csv \
-o plots.png \
-o metrics.json \
python3 train_and_evaluate.py
stages:
train_and_evaluate:
cmd: python3 train_and_evaluate.py
params:
# Skip specifying parameter file
# Defaulted to params.yaml
- train_and_evaluate
deps:
- processed_data.csv
- train_and_evaluate.py
outs:
- plots.png
- metrics.json
dvc stage add plusieurs foisERROR: Stage 'train_and_evaluate'
already exists in 'dvc.yaml'.
Use '--force' to overwrite.
dvc stage add --forcedvc stage add --force \
-n train_and_evaluate \
-p train_and_evaluate \
-d train_and_evaluate.py \
-d processed_data.csv \
-o plots.png \
-o metrics.json \
python3 train_and_evaluate.py
# Afficher le DAG dans le terminal
dvc dag
# Afficher le DAG jusqu'à une étape donnée
dvc dag <target>
+------------+
| preprocess |
+------------+
*
*
*
+--------------------+
| train_and_evaluate |
+--------------------+
# Afficher les sorties comme nœuds
dvc dag --outs
+-------------------------------+
| processed_dataset/weather.csv |
+-------------------------------+
*** ***
*** ***
** **
+--------------+ +-----------+
| metrics.json | | plots.png |
+--------------+ +-----------+
dvc dag --dot
strict digraph {
"preprocess";
"train_and_evaluate";
"preprocess" -> "train_and_evaluate";
}

Introduction au versionnage des données avec DVC