Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Weights and Biases Overview
📖 Scenario: You are working on a machine learning project and want to track your experiments easily. You decide to use Weights and Biases (W&B), a tool that helps you log your training runs, visualize results, and compare different models.
🎯 Goal: Learn how to set up a simple W&B project, configure it, log some metrics during training, and display the logged results.
📋 What You'll Learn
Create a Python dictionary with experiment parameters
Add a configuration dictionary for W&B setup
Log training metrics using a loop
Print the final logged metrics summary
💡 Why This Matters
🌍 Real World
Weights and Biases is widely used by data scientists and ML engineers to track experiments, compare models, and share results easily.
💼 Career
Knowing how to set up and use W&B is a valuable skill for roles in machine learning operations (MLOps) and data science teams.
Progress0 / 4 steps
1
Create experiment parameters dictionary
Create a dictionary called experiment_params with these exact entries: 'learning_rate': 0.01, 'batch_size': 32, 'epochs': 5
MLOps
Hint
Use curly braces to create a dictionary with the exact keys and values.
2
Add W&B configuration dictionary
Create a dictionary called wandb_config with these exact entries: 'project': 'mlops-demo', 'entity': 'your-team'
MLOps
Hint
Create another dictionary with the exact keys and values for W&B setup.
3
Log training metrics with a loop
Use a for loop with variable epoch in range(1, experiment_params['epochs'] + 1) to simulate training. Inside the loop, create a dictionary metrics with 'epoch' set to epoch and 'accuracy' set to epoch * 0.1.
MLOps
Hint
Use a for loop to simulate epochs and create a metrics dictionary inside it.
4
Print the final metrics dictionary
After the loop, write print(metrics) to display the last epoch's metrics dictionary.
MLOps
Hint
Print the metrics dictionary after the loop to see the final epoch's data.
Practice
(1/5)
1. What is the main purpose of Weights and Biases (W&B) in machine learning?
easy
A. To deploy machine learning models to production automatically
B. To write machine learning algorithms from scratch
C. To replace the need for training data
D. To track experiments, log metrics, and visualize results
Solution
Step 1: Understand W&B's role
W&B is designed to help track experiments and log metrics during ML development.
Step 2: Identify main features
It provides visualization and comparison of results in a dashboard, not algorithm creation or deployment.
Final Answer:
To track experiments, log metrics, and visualize results -> Option D
Quick Check:
W&B tracks and visualizes experiments [OK]
Hint: Remember W&B is for tracking and visualizing experiments [OK]
Common Mistakes:
Confusing W&B with model deployment tools
Thinking W&B writes ML algorithms
Assuming W&B replaces training data
2. Which of the following is the correct command to initialize a W&B run in Python?
easy
A. wandb.init(project="my-project")
B. wandb.start(project="my-project")
C. wandb.run(project="my-project")
D. wandb.create(project="my-project")
Solution
Step 1: Recall W&B initialization syntax
The correct function to start a run is wandb.init() with project name as argument.
Step 2: Check other options
Functions like start(), run(), or create() do not exist in W&B API for initialization.
Final Answer:
wandb.init(project="my-project") -> Option A
Quick Check:
Use wandb.init() to start runs [OK]
Hint: Use wandb.init() to start tracking runs [OK]
Common Mistakes:
Using wandb.start() instead of wandb.init()
Confusing run() or create() as initialization methods
Missing the project argument
3. Given this Python snippet using W&B:
import wandb
wandb.init(project="test")
for epoch in range(2):
wandb.log({"accuracy": 0.8 + 0.1 * epoch})
What will be the logged accuracy values after the loop?
medium
A. [0.9, 1.0]
B. [0.8, 0.9]
C. [0.8, 0.85]
D. [0.7, 0.8]
Solution
Step 1: Analyze the loop iterations
The loop runs for epoch = 0 and epoch = 1 (2 iterations).
Step 2: Calculate logged accuracy values
For epoch 0: 0.8 + 0.1*0 = 0.8; for epoch 1: 0.8 + 0.1*1 = 0.9.
Final Answer:
[0.8, 0.9] -> Option B
Quick Check:
Accuracy logged = [0.8, 0.9] [OK]
Hint: Calculate values for each epoch carefully [OK]
Common Mistakes:
Miscomputing the accuracy formula
Confusing loop range endpoints
Assuming only one iteration
4. You wrote this code snippet to log loss values with W&B but no data appears in the dashboard:
import wandb
wandb.init(project="demo")
for i in range(3):
loss = 0.5 / (i+1)
wandb.log(loss)
What is the error?
medium
A. wandb.log() requires a dictionary, not a single value
B. wandb.init() is missing the entity parameter
C. The loop range should start from 1, not 0
D. loss variable is not defined before wandb.log()
Solution
Step 1: Check wandb.log() usage
wandb.log() expects a dictionary with metric names as keys, not a single float value.
Step 2: Identify correct logging format
It should be wandb.log({"loss": loss}) to log the loss metric properly.
Final Answer:
wandb.log() requires a dictionary, not a single value -> Option A
Quick Check:
Always log metrics as dict in wandb.log() [OK]
Hint: Log metrics as dictionaries: wandb.log({"metric": value}) [OK]
Common Mistakes:
Passing a float directly to wandb.log()
Forgetting to name the metric in a dict
Assuming wandb.init() needs entity always
5. You want to compare two models' training runs side-by-side using W&B. Which approach best helps you achieve this?
hard
A. Use separate projects for each model and avoid comparing runs
B. Train models without logging and manually compare saved files
C. Log both models in the same project and use the W&B dashboard to compare runs
D. Log only the best model to reduce clutter
Solution
Step 1: Understand W&B project and run organization
Logging both models in the same project allows easy side-by-side comparison in the dashboard.
Step 2: Evaluate other options
Not logging or using separate projects makes comparison harder; logging only one model loses data.
Final Answer:
Log both models in the same project and use the W&B dashboard to compare runs -> Option C
Quick Check:
Same project logging enables run comparison [OK]
Hint: Use one project for related runs to compare easily [OK]