0
0
TensorFlowml~20 mins

Padding and stride in TensorFlow - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Padding and Stride Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output shape with SAME padding and stride 2
Consider a 2D convolution layer in TensorFlow with input shape (1, 28, 28, 3), kernel size 3x3, stride 2, and padding='SAME'. What is the output shape after applying this convolution?
TensorFlow
import tensorflow as tf
input_tensor = tf.random.uniform((1, 28, 28, 3))
conv_layer = tf.keras.layers.Conv2D(filters=5, kernel_size=3, strides=2, padding='SAME')
output = conv_layer(input_tensor)
print(output.shape)
A(1, 14, 14, 5)
B(1, 12, 12, 5)
C(1, 15, 15, 5)
D(1, 13, 13, 5)
Attempts:
2 left
💡 Hint
Padding='SAME' keeps output size roughly input size divided by stride.
🧠 Conceptual
intermediate
1:30remaining
Effect of stride on output size
In a convolutional neural network, if you increase the stride from 1 to 3 while keeping padding='VALID' and kernel size fixed, what happens to the output feature map size?
AOutput size stays the same because kernel size is fixed.
BOutput size increases because stride adds padding.
COutput size becomes zero because stride is too large.
DOutput size decreases because stride skips more input positions.
Attempts:
2 left
💡 Hint
Think about how stride controls the step size when sliding the kernel.
Metrics
advanced
2:00remaining
Calculate output size with padding='VALID' and stride 2
Given an input image of size 32x32, a convolutional layer with kernel size 5x5, stride 2, and padding='VALID', what is the output width and height?
A16 x 16
B15 x 15
C14 x 14
D13 x 13
Attempts:
2 left
💡 Hint
Use formula: output = floor((input - kernel + 1) / stride)
🔧 Debug
advanced
2:00remaining
Identify the error in convolution output shape calculation
A user writes this code to compute output shape after a convolution: input_shape = (1, 64, 64, 3) kernel_size = 7 stride = 2 padding = 'VALID' output_height = (input_shape[1] - kernel_size) // stride output_width = (input_shape[2] - kernel_size) // stride print(f'Output shape: (1, {output_height}, {output_width}, 10)') What is wrong with this calculation?
APadding='VALID' requires adding padding size to input
BThe kernel size should be subtracted with +1: (input - kernel + 1)
COutput channels should be input channels minus kernel size
DThe stride should be added, not divided
Attempts:
2 left
💡 Hint
Recall the formula for output size with VALID padding.
Model Choice
expert
2:30remaining
Choosing padding and stride for preserving spatial dimensions
You want to design a convolutional layer that keeps the input image size exactly the same after convolution. Which combination of padding and stride should you choose?
Apadding='SAME' and stride=1
Bpadding='VALID' and stride=1
Cpadding='SAME' and stride=2
Dpadding='VALID' and stride=2
Attempts:
2 left
💡 Hint
Think about how padding and stride affect output size.