DVC

Lev Kovalenko

DVC pipelines

Pipeline

stages:
  prepare: ... # stage 1 definition
  train: ... # stage 2 definition
  evaluate: ... # stage 3 definition

Stage

stages:
  prepare:
    cmd: source src/cleanup.sh
    deps:
      - src/cleanup.sh
      - data/raw
    outs:
      - data/clean.csv

Stage parametrs

stages:
  train:
    cmd: ...
    deps: ...
    params: # from params.yaml
      - learning_rate
      - nn.epochs
      - nn.batch_size
    outs: ...

Stage outputs

  • Files
  • Metrics
  • Plots

Pros&Cons

Pros

  • Не зависит от языка
  • DAG на основе файлов
  • Правила рядом с кодом
  • Простая параметризация
  • Yaml формат
  • Вресионирование результатов
  • Мониторинг эксперимента

Cons

  • Сложное разбиение на модули
  • DAG deps пишутся вами
  • Нет виртуальных окружений
  • Нет ограничений на ресурсы
  • Нет распределенных вычеслений