Chạy pipeline DVC

Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Ravi Bhadauria

Machine Learning Engineer

Tóm tắt

  • Giai đoạn tiền xử lý
stages:
  preprocess:
    cmd: python3 preprocess.py
    params:
      - preprocess
    deps:
    - preprocess.py
    - raw_data.csv
    outs:
    - processed_data.csv
  • Huấn luyện và đánh giá
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
Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Tái tạo pipeline

  • Tái tạo pipeline bằng dvc repro
$ dvc repro
Running stage 'preprocess':                                      
> python preprocess.py

Running stage 'train_and_evaluate': > python train_and_evaluate.py Updating lock file 'dvc.lock'
  • Tệp trạng thái dvc.lock được tạo
    • Tương tự tệp .dvc, lưu băm MD5
$ git add dvc.lock && git commit -m "first pipeline run"
Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Dùng kết quả cache

  • Dùng kết quả đã cache để tăng tốc lặp
$ dvc repro
Stage 'preprocess' didn't change, skipping
Running stage 'train_and_evaluate' with command: ...
Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Cache stage trong DVC

Lưu đồ cách DVC cache các stage

Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Dry run pipeline

  • Dùng cờ --dry để chỉ in lệnh, không chạy pipeline
$ dvc repro --dry
Running stage 'preprocess':
> python3 preprocess_dataset.py

Running stage 'train_and_evaluate':
> python3 train_and_evaluate.py
Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Tham số bổ sung

  • Chạy tệp cụ thể dvc repro linear/dvc.yaml
    • Không cho phép nhiều dvc.yaml trong một thư mục
  • Chạy stage cụ thể dvc repro <target_stage>
    • Cũng chạy cả phụ thuộc ngược dòng
  • Ép chạy pipeline/stage dvc repro -f
  • Không lưu output vào cache dvc repro --no-commit
    • Dùng dvc commit sau
Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Thực thi stage song song

Sơ đồ DAG thực thi stage song song trong DVC

  • Chạy các bước độc lập song song
# Chạy A2 và các phụ thuộc ngược dòng
$ dvc repro A2
# Chạy B2 và các phụ thuộc ngược dòng
$ dvc repro B2
  • Dùng cache để tăng tốc thực thi
$ dvc repro train
Stage 'A2' didn't change, skipping
Stage 'B2' didn't change, skipping
Running stage 'train' with command: ...
Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Ayo berlatih!

Nhập môn Quản lý Phiên bản Dữ liệu với DVC

Preparing Video For Download...