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
Recall & Review
beginner
What is a random seed in machine learning?
A random seed is a starting point number used to initialize a random number generator. It ensures that the sequence of random numbers is the same every time, helping to reproduce results.
Click to reveal answer
beginner
Why is random seed management important in MLOps?
It helps make experiments repeatable and results consistent, which is crucial for debugging, comparing models, and deploying reliable machine learning systems.
Click to reveal answer
beginner
How do you set a random seed in Python for reproducibility?
Use the command <code>import random; random.seed(42)</code> for the built-in random module, and <code>import numpy as np; np.random.seed(42)</code> for NumPy random functions.
Click to reveal answer
beginner
What can happen if you do not manage random seeds in your ML pipeline?
Your model training and evaluation results may vary each time you run the code, making it hard to debug, compare, or trust the results.
Click to reveal answer
intermediate
Name two common libraries where random seed should be set for full reproducibility in Python ML projects.
The random module and numpy library. Also, for deep learning, libraries like TensorFlow or PyTorch have their own seed settings.
Click to reveal answer
What does setting a random seed do?
AMakes random numbers predictable and repeatable
BIncreases randomness in data
CRemoves randomness completely
DGenerates new random numbers every time
✗ Incorrect
Setting a random seed makes the sequence of random numbers predictable and repeatable, which helps reproduce results.
Which Python command sets the seed for NumPy's random number generator?
Aseed(42)
Brandom.seed(42)
Cnumpy.seed(42)
Dnp.random.seed(42)
✗ Incorrect
The correct command is np.random.seed(42) to set the seed for NumPy's random number generator.
Why is random seed management critical in MLOps?
ATo speed up training
BTo ensure reproducible and consistent results
CTo increase model accuracy automatically
DTo reduce data size
✗ Incorrect
Random seed management ensures reproducible and consistent results, which is essential in MLOps for reliable model development.
If you do not set a random seed, what is likely to happen?
AYour results may vary each run
BYour results will be the same every time
CYour code will not run
DYour model will always overfit
✗ Incorrect
Without setting a random seed, the results may vary each time you run the code due to different random values.
Which of these is NOT a place to set a random seed for full reproducibility?
APython random module
BNumPy random module
COperating system kernel
DTensorFlow or PyTorch
✗ Incorrect
The operating system kernel is not where you set random seeds for ML reproducibility; seeds are set in the programming libraries.
Explain what a random seed is and why it matters in machine learning projects.
Think about how random numbers are generated and why repeating experiments is important.
You got /3 concepts.
Describe how you would manage random seeds in a Python-based ML pipeline to ensure reproducible results.
Consider all sources of randomness in your code.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of setting a random seed in machine learning experiments?
easy
A. To make the results reproducible and consistent across runs
B. To speed up the training process
C. To increase the randomness of the model
D. To reduce the size of the dataset
Solution
Step 1: Understand the role of randomness in experiments
Randomness affects initialization and data shuffling, causing different results each run.
Step 2: Identify the effect of setting a seed
Setting a seed fixes randomness so results are the same every time.
Final Answer:
To make the results reproducible and consistent across runs -> Option A
Quick Check:
Random seed = reproducibility [OK]
Hint: Random seed fixes randomness for repeatable results [OK]
Common Mistakes:
Thinking seed speeds up training
Believing seed increases randomness
Confusing seed with dataset size
2. Which of the following Python code snippets correctly sets the random seed for both Python's random and NumPy libraries?
easy
A. import random
import numpy as np
random.seed(42)
np.seed(42)
B. import random
import numpy as np
random.seed(42)
np.random.seed(42)
C. import random
import numpy as np
random.seed = 42
np.random.seed = 42
D. import random
import numpy as np
random.set_seed(42)
np.set_seed(42)
Solution
Step 1: Recall correct seed setting methods
Python's random uses random.seed(value), NumPy uses np.random.seed(value).
Step 2: Check each option's syntax
import random
import numpy as np
random.seed(42)
np.random.seed(42) uses correct functions. Others use non-existent set_seed, incorrect assignments to seed, or np.seed(42) which doesn't exist.
Final Answer:
import random
import numpy as np
random.seed(42)
np.random.seed(42) -> Option B
Quick Check:
random.seed() and np.random.seed() are correct [OK]
Hint: Use .seed() method, not .set_seed or assignment [OK]
Common Mistakes:
Using random.set_seed instead of random.seed
Assigning seed as a variable instead of calling method
Calling np.seed instead of np.random.seed
3. Consider the following Python code snippet:
import random
random.seed(123)
print([random.randint(1, 10) for _ in range(3)])
random.seed(123)
print([random.randint(1, 10) for _ in range(3)])
What will be the output?
medium
A. [[3, 2, 7], [4, 5, 6]]
B. [[1, 10, 2], [1, 10, 2]]
C. [[3, 2, 7], [3, 2, 7]]
D. [[1, 10, 2], [4, 5, 6]]
Solution
Step 1: Understand effect of setting seed before generating numbers
Setting seed resets the random number generator to a fixed state.
Step 2: Predict output of two identical seed calls
Both lists will be identical because the seed is reset before each list generation.
Final Answer:
[3, 2, 7], [3, 2, 7] -> Option C
Quick Check:
Same seed = same random sequence [OK]
Hint: Resetting seed repeats the same random sequence [OK]
Common Mistakes:
Assuming different outputs after resetting seed
Confusing seed effect with random state progression
Ignoring that seed resets generator state
4. You have the following code snippet that aims to fix randomness but still produces different results each run:
import random
random.seed(42)
print(random.randint(1, 100))
import numpy as np
np.random.seed(42)
print(np.random.randint(1, 100))
What is the most likely reason for the non-reproducible results?
medium
A. The seed is set only for Python random and NumPy separately, but another library uses randomness
B. The random seed is set after generating random numbers
C. The seed value 42 is too small to fix randomness
D. The print statements cause randomness to reset
Solution
Step 1: Analyze seed setting for Python random and NumPy
Seeds are set correctly for both libraries before generating numbers.
Step 2: Consider other sources of randomness
If another library (e.g., TensorFlow, PyTorch) uses randomness but seed is not set there, results vary.
Final Answer:
Seed set only for Python random and NumPy, but another library uses randomness -> Option A
Quick Check:
All libraries need seed set for full reproducibility [OK]
Hint: Set seed in all libraries that use randomness [OK]
Common Mistakes:
Thinking seed value size matters
Believing print affects randomness
Assuming seed order is wrong here
5. You want to ensure full reproducibility of a machine learning experiment using Python's random, NumPy, and PyTorch. Which of the following code snippets correctly sets seeds for all three libraries and disables nondeterministic behavior in PyTorch?
hard
A. import random
import numpy as np
import torch
random.seed(123)
np.random.seed(123)
torch.manual_seed(123)
B. import random
import numpy as np
import torch
random.seed(123)
np.random.seed(123)
torch.manual_seed(123)
torch.set_deterministic(True)
C. import random
import numpy as np
import torch
random.seed(123)
np.random.seed(123)
torch.manual_seed(123)
torch.deterministic = True
D. import random
import numpy as np
import torch
random.seed(123)
np.random.seed(123)
torch.manual_seed(123)
torch.use_deterministic_algorithms(True)
Solution
Step 1: Set seeds for Python random, NumPy, and PyTorch
Use random.seed(), np.random.seed(), and torch.manual_seed() with the same value.
Step 2: Enable deterministic algorithms in PyTorch
Use torch.use_deterministic_algorithms(True) to disable nondeterministic ops.
Final Answer:
import random
import numpy as np
import torch
random.seed(123)
np.random.seed(123)
torch.manual_seed(123)
torch.use_deterministic_algorithms(True) -> Option D
Quick Check:
All seeds set + deterministic mode = full reproducibility [OK]
Hint: Set all seeds and enable deterministic mode in PyTorch [OK]
Common Mistakes:
Using non-existent torch.set_deterministic method
Assigning torch.deterministic instead of calling function
Forgetting to enable deterministic algorithms in PyTorch