Bird
Raised Fist0
ML Pythonml~10 mins

CI/CD for ML pipelines in ML Python - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to trigger a pipeline run on every push to the main branch.

ML Python
on:
  push:
    branches:
      - [1]
Drag options to blanks, or click blank then click option'
Adevelop
Bfeature
Cmain
Drelease
Attempts:
3 left
💡 Hint
Common Mistakes
Using a feature branch name instead of the main branch.
2fill in blank
medium

Complete the code to specify the job that runs the ML training script.

ML Python
jobs:
  train_model:
    runs-on: ubuntu-latest
    steps:
      - name: Run training
        run: python [1]
Drag options to blanks, or click blank then click option'
Atest.py
Btrain.py
Cdeploy.py
Devaluate.py
Attempts:
3 left
💡 Hint
Common Mistakes
Using evaluation or deployment scripts instead of training script.
3fill in blank
hard

Fix the error in the pipeline step that installs dependencies.

ML Python
steps:
  - name: Install dependencies
    run: pip [1] -r requirements.txt
Drag options to blanks, or click blank then click option'
Ainstall
Bdownload
Cupdate
Dupgrade
Attempts:
3 left
💡 Hint
Common Mistakes
Using pip download or pip update which do not install packages.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps dataset names to their sizes if size is greater than 1000.

ML Python
dataset_sizes = {name: size for name, size in datasets.items() if size [1] [2]
Drag options to blanks, or click blank then click option'
A>
B1000
C<
D500
Attempts:
3 left
💡 Hint
Common Mistakes
Using less than operator or wrong threshold values.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps model names in uppercase to their accuracy if accuracy is above 0.8.

ML Python
filtered_models = { [1]: [2] for model, accuracy in models.items() if accuracy [3] 0.8 }
Drag options to blanks, or click blank then click option'
Amodel.upper()
Baccuracy
C>
Dmodel.lower()
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase conversion or wrong comparison operators.

Practice

(1/5)
1. What is the main purpose of a CI/CD pipeline in machine learning projects?
easy
A. To manually update model parameters
B. To automate model training, testing, and deployment
C. To store large datasets only
D. To write machine learning algorithms from scratch

Solution

  1. Step 1: Understand CI/CD pipeline role

    CI/CD pipelines automate repetitive tasks like training, testing, and deploying ML models.
  2. Step 2: Compare options

    Only To automate model training, testing, and deployment describes automation of these tasks; others describe unrelated activities.
  3. Final Answer:

    To automate model training, testing, and deployment -> Option B
  4. Quick Check:

    CI/CD automates ML workflows = B [OK]
Hint: CI/CD means automating ML workflow steps [OK]
Common Mistakes:
  • Thinking CI/CD is only for code storage
  • Confusing manual updates with automation
  • Assuming CI/CD writes ML algorithms
2. Which of the following is the correct YAML syntax snippet to trigger a CI/CD pipeline on every code push in GitHub Actions?
easy
A. on: [push]
B. trigger: push
C. when: code_push
D. event: commit

Solution

  1. Step 1: Identify GitHub Actions trigger syntax

    GitHub Actions uses 'on:' keyword with event names like 'push' to trigger workflows.
  2. Step 2: Validate options

    Only 'on: [push]' is valid YAML syntax for triggering on code push.
  3. Final Answer:

    on: [push] -> Option A
  4. Quick Check:

    GitHub Actions trigger = on: [push] [OK]
Hint: GitHub Actions uses 'on:' for triggers [OK]
Common Mistakes:
  • Using 'trigger' instead of 'on'
  • Wrong keywords like 'when' or 'event'
  • Incorrect YAML list syntax
3. Given this simplified ML pipeline step in a CI/CD YAML file:
steps:
  - name: Train model
    run: python train.py --epochs 5
  - name: Test model
    run: python test.py
  - name: Deploy model
    run: python deploy.py

What will happen if train.py fails during execution?
medium
A. The pipeline stops and does not run test or deploy steps
B. The pipeline continues to test and deploy steps regardless
C. Only the deploy step is skipped, test runs
D. The pipeline retries the train step automatically

Solution

  1. Step 1: Understand default CI/CD step behavior

    By default, if a step fails, the pipeline stops and next steps do not run.
  2. Step 2: Apply to given steps

    If 'train.py' fails, 'test.py' and 'deploy.py' steps will not execute.
  3. Final Answer:

    The pipeline stops and does not run test or deploy steps -> Option A
  4. Quick Check:

    Step failure stops pipeline = A [OK]
Hint: Failed step stops pipeline unless configured otherwise [OK]
Common Mistakes:
  • Assuming pipeline continues after failure
  • Thinking only deploy step is skipped
  • Believing automatic retries happen by default
4. You wrote this GitHub Actions step to deploy your ML model:
- name: Deploy model
  run: python deploy.py
  if: success()

But the deploy step runs even if the test step fails. What is the likely cause?
medium
A. The deploy.py script always succeeds regardless of tests
B. The 'if' condition should be 'if: failure()' to run on failure
C. GitHub Actions ignores 'if' conditions on run steps
D. The 'if: success()' condition is incorrectly indented

Solution

  1. Step 1: Check YAML indentation rules

    In GitHub Actions, 'if:' must be at the same level as 'run:' to apply correctly.
  2. Step 2: Analyze given snippet

    'if: success()' is indented under 'run:', so it is ignored and deploy runs always.
  3. Final Answer:

    The 'if: success()' condition is incorrectly indented -> Option D
  4. Quick Check:

    YAML indentation affects condition execution = D [OK]
Hint: Check YAML indentation for 'if:' conditions [OK]
Common Mistakes:
  • Misplacing 'if:' under 'run:'
  • Confusing success() with failure()
  • Assuming scripts control step execution
5. You want to automate retraining your ML model weekly and also on every code push. Which CI/CD configuration best achieves this?
hard
A. trigger: push\nschedule: weekly\ncron: '0 0 * * 0'
B. on: push\nschedule: 'weekly' # invalid syntax
C. on: [push, schedule]\nschedule:\n - cron: '0 0 * * 0' # every Sunday midnight
D. on: [push]\nschedule: every Sunday

Solution

  1. Step 1: Understand GitHub Actions triggers

    To trigger on code push and schedule, use 'on:' with both 'push' and 'schedule' keys.
  2. Step 2: Validate cron syntax

    on: [push, schedule]\nschedule:\n - cron: '0 0 * * 0' # every Sunday midnight uses correct cron format for weekly schedule and valid YAML syntax.
  3. Final Answer:

    on: [push, schedule]\nschedule:\n - cron: '0 0 * * 0' # every Sunday midnight -> Option C
  4. Quick Check:

    Use 'on:' with push and schedule + valid cron [OK]
Hint: Use 'on:' with push and schedule plus cron for weekly [OK]
Common Mistakes:
  • Using invalid schedule syntax
  • Misplacing cron outside schedule
  • Using unsupported keywords like 'trigger'
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard