DVC पाइपलाइनों को चलाना

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 के साथ डेटा वर्ज़निंग परिचय

पाइपलाइन को पुनरुत्पादित करना

  • 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'
  • एक स्टेट फ़ाइल dvc.lock बनती है
    • .dvc फ़ाइल जैसी, MD5 हैश कैप्चर करती है
$ git add dvc.lock && git commit -m "first pipeline run"
DVC के साथ डेटा वर्ज़निंग परिचय

कैश्ड रिज़ल्ट का उपयोग

  • कैश्ड रिज़ल्ट से इटरेशन तेज करें
$ dvc repro
Stage 'preprocess' didn't change, skipping
Running stage 'train_and_evaluate' with command: ...
DVC के साथ डेटा वर्ज़निंग परिचय

DVC में स्टेज कैशिंग

DVC में स्टेज कैशिंग कैसे काम करती है का फ़्लोचार्ट

DVC के साथ डेटा वर्ज़निंग परिचय

पाइपलाइन का ड्राई रन

  • केवल कमांड प्रिंट करने के लिए --dry फ़्लैग उपयोग करें, पाइपलाइन न चलाएँ
$ dvc repro --dry
Running stage 'preprocess':
> python3 preprocess_dataset.py

Running stage 'train_and_evaluate':
> python3 train_and_evaluate.py
DVC के साथ डेटा वर्ज़निंग परिचय

अतिरिक्त आर्ग्युमेंट्स

  • विशेष फ़ाइल चलाना dvc repro linear/dvc.yaml
    • एक फ़ोल्डर में कई dvc.yaml मान्य नहीं हैं
  • विशेष स्टेज चलाना dvc repro <target_stage>
    • यह अपस्ट्रीम डिपेंडेंसी भी चलाएगा
  • फोर्स रन पाइपलाइन/स्टेज dvc repro -f
  • आउटपुट को कैश में न रखें dvc repro --no-commit
    • बाद में dvc commit करें
DVC के साथ डेटा वर्ज़निंग परिचय

पैरेलल स्टेज एक्ज़ीक्यूशन

DVC में पैरेलल स्टेज एक्ज़ीक्यूशन DAG का स्कीमैटिक

  • स्वतंत्र स्टेप्स को साथ-साथ चलाएँ
# Run A2 and its upstream dependencies
$ dvc repro A2
# Run B2 and its upstream dependencies
$ dvc repro B2
  • एक्ज़ीक्यूशन तेज करने के लिए कैशिंग का उपयोग करें
$ dvc repro train
Stage 'A2' didn't change, skipping
Stage 'B2' didn't change, skipping
Running stage 'train' with command: ...
DVC के साथ डेटा वर्ज़निंग परिचय

अभ्यास करते हैं!

DVC के साथ डेटा वर्ज़निंग परिचय

Preparing Video For Download...