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 broadcasting in TensorFlow?
Broadcasting is a way TensorFlow automatically expands the shapes of arrays during operations so they have compatible shapes without copying data.
Click to reveal answer
beginner
What are the basic rules of broadcasting in TensorFlow?
1. If arrays have different ranks, prepend 1s to the smaller shape. 2. Arrays are compatible if their dimensions are equal or one of them is 1. 3. The result shape is the maximum size along each dimension.
Click to reveal answer
intermediate
Why does TensorFlow prepend 1s to the shape of smaller arrays during broadcasting?
Prepending 1s aligns the shapes from the right so that dimensions can be compared and expanded correctly for element-wise operations.
Click to reveal answer
beginner
What happens if two dimensions are not equal and neither is 1 during broadcasting?
TensorFlow raises an error because the shapes are incompatible and cannot be broadcast together.
Click to reveal answer
beginner
Example: What is the broadcasted shape of tensors with shapes (3, 1) and (1, 4)?
The broadcasted shape is (3, 4) because: - First dimension: 3 and 1 → max is 3 - Second dimension: 1 and 4 → max is 4
Click to reveal answer
Which of these pairs of shapes can be broadcast together in TensorFlow?
A(3, 2) and (3, 3)
B(5, 1) and (1, 4)
C(2, 3) and (3, 2)
D(4, 5) and (3, 5)
✗ Incorrect
Only (5, 1) and (1, 4) can broadcast to (5, 4). Others have incompatible dimensions.
What does TensorFlow do if one tensor has shape (4,) and another has shape (3, 4)?
ABroadcasts (4,) to (3, 4)
BRaises an error
CBroadcasts (3, 4) to (4,)
DNo broadcasting needed
✗ Incorrect
TensorFlow treats (4,) as (1, 4) and broadcasts it to (3, 4).
If two tensors have shapes (2, 3, 1) and (3, 1, 4), what is the broadcasted shape?
ABroadcasting not possible
B(3, 3, 4)
C(2, 3, 1)
D(2, 3, 4)
✗ Incorrect
Shapes are aligned as (2,3,1) and (3,1,4). The first dimension 2 and 3 are incompatible.
Why is broadcasting useful in TensorFlow?
AIt saves memory by avoiding data copying
BIt speeds up training by skipping calculations
CIt prevents errors in model building
DIt automatically reshapes data for element-wise operations
✗ Incorrect
Broadcasting automatically reshapes arrays to allow element-wise operations without manual reshaping.
What is the first step TensorFlow takes when broadcasting two tensors of different ranks?
ARaises an error immediately
BTruncates the larger tensor
CPrepend 1s to the smaller tensor's shape
DSwaps the tensors
✗ Incorrect
TensorFlow prepends 1s to the smaller shape to align dimensions from the right.
Explain the broadcasting rules in TensorFlow and why they are important.
Think about how TensorFlow matches shapes from the right and expands dimensions.
You got /4 concepts.
Describe a real-life example where broadcasting helps in a TensorFlow model.
Consider adding a single bias to many samples at once.
You got /4 concepts.
Practice
(1/5)
1. What does broadcasting in TensorFlow allow you to do?
easy
A. Perform math operations on tensors with different but compatible shapes
B. Convert tensors into Python lists automatically
C. Change the data type of tensors without copying data
D. Create new tensors with random values
Solution
Step 1: Understand broadcasting concept
Broadcasting lets TensorFlow perform element-wise operations on tensors even if their shapes differ, as long as they are compatible.
Step 2: Identify the correct description
Only Perform math operations on tensors with different but compatible shapes correctly describes this feature; others describe unrelated tensor operations.
Final Answer:
Perform math operations on tensors with different but compatible shapes -> Option A
Quick Check:
Broadcasting = math on compatible shapes [OK]
Hint: Broadcasting = math on tensors with compatible shapes [OK]
Common Mistakes:
Thinking broadcasting changes data types
Confusing broadcasting with tensor creation
Assuming broadcasting converts tensors to lists
2. Which of the following TensorFlow code snippets correctly broadcasts a tensor of shape (3, 1) with a tensor of shape (1, 4)?
easy
A. tf.constant([1, 2, 3]) + tf.constant([4, 5, 6, 7])
B. tf.constant([[1], [2], [3]]) + tf.constant([[4, 5, 6, 7]])
C. tf.constant([[1, 2, 3]]) + tf.constant([[4], [5], [6], [7]])
D. tf.constant([[1], [2], [3]]) + tf.constant([[4], [5], [6], [7]])
Solution
Step 1: Check shapes of tensors in each option
tf.constant([[1], [2], [3]]) + tf.constant([[4, 5, 6, 7]]) adds (3,1) tensor to (1,4) tensor, which are compatible for broadcasting.
Step 2: Verify broadcasting rules
Shapes (3,1) and (1,4) broadcast to (3,4). Other options have incompatible shapes or wrong dimensions.
Hint: Match trailing dims: 1 and N broadcast fine [OK]
Common Mistakes:
Ignoring shape dimensions order
Assuming 1D tensors broadcast like 2D
Mixing up rows and columns in shapes
3. What is the output shape of the following TensorFlow operation?
import tensorflow as tf
x = tf.constant([[1, 2, 3]]) # shape (1, 3)
y = tf.constant([4, 5, 6, 7]) # shape (4,)
z = x + y
medium
A. (1, 3, 4)
B. (4, 3)
C. (1, 4)
D. Error due to incompatible shapes
Solution
Step 1: Analyze shapes of x and y
x has shape (1,3), y has shape (4,). TensorFlow aligns shapes from the right.
Step 2: Apply broadcasting rules
y's shape (4,) is treated as (1,4). Shapes (1,3) and (1,4) are incompatible because 3 != 4 and neither is 1.
Step 3: Check if broadcasting possible
Since last dimensions differ and neither is 1, broadcasting fails, causing an error.
Final Answer:
Error due to incompatible shapes -> Option D
Quick Check:
Incompatible shapes cause error [OK]
Hint: Broadcast dims must be equal or 1 from right [OK]
Common Mistakes:
Assuming (4,) broadcasts to (3,)
Ignoring dimension order in broadcasting
Expecting automatic reshaping without error
4. You have two tensors: a = tf.constant([[1, 2, 3], [4, 5, 6]]) (shape (2, 3)) b = tf.constant([1, 2]) (shape (2,)) Why does a + b raise an error, and how can you fix it?
medium
A. Shapes are incompatible; reshape b to (2,1) before adding
B. Data types differ; cast b to a's dtype
C. Tensors must be same shape; reshape a to (2,2)
D. Broadcasting always works; error is from another cause
Solution
Step 1: Check shapes of a and b
a is (2,3), b is (2,). Broadcasting compares from right: 3 vs 2 incompatible.
Step 2: Fix shape for broadcasting
Reshape b to (2,1) so shapes become (2,3) and (2,1), which broadcast to (2,3).
Final Answer:
Shapes are incompatible; reshape b to (2,1) before adding -> Option A
Quick Check:
Reshape b to (2,1) fixes broadcasting [OK]
Hint: Match dims from right; add missing dims with reshape [OK]
Common Mistakes:
Ignoring shape mismatch causes error
Trying to reshape a incorrectly
Assuming broadcasting fixes all shape issues automatically
5. Given a tensor t of shape (5, 1, 3), you want to add a bias tensor b of shape (3,) to each element along the last dimension. Which code correctly applies broadcasting to add b to t?
hard
A. t + tf.reshape(b, (3, 1))
B. t + tf.reshape(b, (3, 1, 1))
C. t + tf.reshape(b, (1, 1, 3))
D. t + tf.reshape(b, (5, 1, 3))
Solution
Step 1: Understand shapes and broadcasting
t shape is (5,1,3), b shape is (3,). To add b along last dim, b must broadcast to (5,1,3).
Step 2: Reshape b for broadcasting
Reshape b to (1,1,3) so it broadcasts correctly across first two dims.
Step 3: Check other options
A reshapes to (3,1), which pads to (1,3,1) and mismatches middle dim. B reshapes to (3,1,1), mismatching first dim. D fails due to element count mismatch (3 vs 15).
Final Answer:
t + tf.reshape(b, (1, 1, 3)) -> Option C
Quick Check:
Reshape bias to (1,1,3) for last-dim addition [OK]
Hint: Reshape bias to add dims before last dimension [OK]