DVC ardışık düzenlerini çalıştırma

DVC ile Veri Sürümlendirmeye Giriş

Ravi Bhadauria

Machine Learning Engineer

Özet

  • Önişleme aşaması
stages:
  preprocess:
    cmd: python3 preprocess.py
    params:
      - preprocess
    deps:
    - preprocess.py
    - raw_data.csv
    outs:
    - processed_data.csv
  • Eğitim ve değerlendirme
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 ile Veri Sürümlendirmeye Giriş

Bir ardışık düzeni yeniden üretme

  • Ardışık düzeni dvc repro ile yeniden üretin
$ dvc repro
Aşama 'preprocess' çalıştırılıyor:                                      
> python preprocess.py

Aşama 'train_and_evaluate' çalıştırılıyor: > python train_and_evaluate.py 'dvc.lock' kilit dosyası güncelleniyor
  • Bir durum dosyası dvc.lock oluşturulur
    • .dvc dosyasına benzer, MD5 karmalarını yakalar
$ git add dvc.lock && git commit -m "first pipeline run"
DVC ile Veri Sürümlendirmeye Giriş

Önbellekteki sonuçları kullanma

  • Yinelemeyi hızlandırmak için önbellekteki sonuçları kullanma
$ dvc repro
Aşama 'preprocess' değişmedi, atlanıyor
Aşama 'train_and_evaluate' şu komutla çalıştırılıyor: ...
DVC ile Veri Sürümlendirmeye Giriş

DVC'de aşama önbelleği

DVC'de aşama önbelleğinin nasıl çalıştığına dair akış şeması

DVC ile Veri Sürümlendirmeye Giriş

Ardışık düzeni kuru çalıştırma

  • Yalnızca komutları yazdırmak için --dry bayrağını kullanın; ardışık düzen çalıştırılmaz
$ dvc repro --dry
Aşama 'preprocess' çalıştırılıyor:
> python3 preprocess_dataset.py

Aşama 'train_and_evaluate' çalıştırılıyor:
> python3 train_and_evaluate.py
DVC ile Veri Sürümlendirmeye Giriş

Ek argümanlar

  • Belirli dosyaları çalıştırma: dvc repro linear/dvc.yaml
    • Bir klasörde birden fazla dvc.yaml izinli değildir
  • Belirli aşamaları çalıştırma: dvc repro <target_stage>
    • Bu, yukarı akış bağımlılıklarını da çalıştırır
  • Ardışık düzeni/aşamayı zorla çalıştırma: dvc repro -f
  • Çıktıları önbelleğe kaydetmeden çalıştırma: dvc repro --no-commit
    • Sonrasında dvc commit kullanın
DVC ile Veri Sürümlendirmeye Giriş

Paralel aşama yürütme

DVC'de paralel aşama yürütme DAG şeması

  • Bağımsız adımları eşzamanlı çalıştırın
# A2 ve yukarı akış bağımlılıklarını çalıştır
$ dvc repro A2
# B2 ve yukarı akış bağımlılıklarını çalıştır
$ dvc repro B2
  • Yürütmeyi hızlandırmak için önbelleği kullanın
$ dvc repro train
Aşama 'A2' değişmedi, atlanıyor
Aşama 'B2' değişmedi, atlanıyor
Aşama 'train' şu komutla çalıştırılıyor: ...
DVC ile Veri Sürümlendirmeye Giriş

Haydi pratik yapalım!

DVC ile Veri Sürümlendirmeye Giriş

Preparing Video For Download...