Bird
Raised Fist0
TensorFlowml~5 mins

Padding and stride in TensorFlow - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is padding in convolutional neural networks?
Padding means adding extra pixels (usually zeros) around the edges of an image before applying convolution. It helps keep the output size larger or the same as the input.
Click to reveal answer
beginner
What does stride control in convolution?
Stride controls how many pixels the filter moves each step when sliding over the image. A stride of 1 moves one pixel at a time, stride 2 moves two pixels, making the output smaller.
Click to reveal answer
intermediate
What is the difference between 'valid' and 'same' padding in TensorFlow?
'Valid' padding means no padding is added, so the output is smaller than the input. 'Same' padding adds zeros so the output size stays the same as the input size.
Click to reveal answer
intermediate
How does increasing stride affect the output size?
Increasing stride makes the filter jump more pixels, so the output size becomes smaller because fewer positions are covered.
Click to reveal answer
beginner
Why might you use padding in a convolutional layer?
Padding helps preserve important edge information and controls output size. Without padding, edges get ignored and output shrinks quickly.
Click to reveal answer
What does 'same' padding do in a convolutional layer?
AKeeps output size the same as input size
BRemoves pixels from the input
CDoubles the output size
DAdds random noise to input
If stride is set to 2, what happens to the output size?
AOutput size becomes zero
BOutput size doubles
COutput size stays the same
DOutput size halves approximately
Which padding type means no padding is added?
ASame
BFull
CValid
DZero
Why do we add padding in convolutional layers?
ATo keep edge information and control output size
BTo increase the number of filters
CTo speed up training
DTo reduce model size
What happens if you use stride 1 and no padding?
AOutput size is larger than input
BOutput size is smaller than input
COutput size stays the same
DModel will not train
Explain in your own words what padding and stride do in a convolutional neural network.
Think about how the filter moves and what happens at image edges.
You got /4 concepts.
    Describe the difference between 'valid' and 'same' padding and how they affect the output size.
    Consider how zeros around the image change the convolution result.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does padding do in a convolutional layer in TensorFlow?
      easy
      A. Changes the filter size
      B. Adjusts the learning rate
      C. Controls the number of filters
      D. Adds extra space around the input edges

      Solution

      1. Step 1: Understand padding role

        Padding adds pixels around the input image edges to control output size and preserve edge information.
      2. Step 2: Compare options

        Only Adds extra space around the input edges correctly describes padding as adding space around input edges.
      3. Final Answer:

        Adds extra space around the input edges -> Option D
      4. Quick Check:

        Padding = Adds space around input edges [OK]
      Hint: Padding adds border space around input images [OK]
      Common Mistakes:
      • Confusing padding with stride
      • Thinking padding changes filter size
      • Assuming padding controls learning rate
      2. Which of the following is the correct way to specify stride of 2 in TensorFlow's Conv2D layer?
      easy
      A. strides=(2)
      B. stride=(2)
      C. strides=(2, 2)
      D. stride=2

      Solution

      1. Step 1: Recall Conv2D stride syntax

        TensorFlow Conv2D expects strides as a tuple for height and width, e.g., (2, 2).
      2. Step 2: Check options

        Only strides=(2, 2) uses the correct parameter name and tuple format.
      3. Final Answer:

        strides=(2, 2) -> Option C
      4. Quick Check:

        Stride syntax = strides=(2, 2) [OK]
      Hint: Use tuple for strides in Conv2D: strides=(height, width) [OK]
      Common Mistakes:
      • Using 'stride' instead of 'strides'
      • Passing a single integer instead of a tuple
      • Omitting parentheses around stride values
      3. Given an input of size 28x28, a filter size of 3x3, stride of 2, and 'valid' padding, what is the output size after Conv2D?
      medium
      A. 13x13
      B. 14x14
      C. 15x15
      D. 12x12

      Solution

      1. Step 1: Calculate output size formula for 'valid' padding

        Output size = floor((Input - Filter) / Stride) + 1 = floor((28 - 3) / 2) + 1 = floor(25 / 2) + 1 = 12 + 1 = 13.
      2. Step 2: Confirm output dimensions

        Output height and width are both 13, so output size is 13x13.
      3. Final Answer:

        13x13 -> Option A
      4. Quick Check:

        Output size = 13x13 with valid padding [OK]
      Hint: Use formula: floor((input-filter)/stride)+1 for 'valid' padding [OK]
      Common Mistakes:
      • Using 'same' padding formula instead
      • Forgetting to floor the division
      • Adding padding when 'valid' means no padding
      4. You wrote this code but get an error:
      tf.keras.layers.Conv2D(filters=32, kernel_size=3, strides=2, padding='samee')

      What is the error?
      medium
      A. Strides must be a tuple, not integer
      B. Invalid padding value 'samee'
      C. Kernel size must be a tuple
      D. Filters must be a list

      Solution

      1. Step 1: Check padding parameter

        Padding accepts only 'valid' or 'same'. 'samee' is a typo and invalid.
      2. Step 2: Verify other parameters

        Strides can be integer or tuple, kernel_size can be int or tuple, filters is integer. So no error there.
      3. Final Answer:

        Invalid padding value 'samee' -> Option B
      4. Quick Check:

        Padding typo causes error [OK]
      Hint: Check spelling of padding values: 'same' or 'valid' only [OK]
      Common Mistakes:
      • Misspelling padding values
      • Assuming strides must be tuple always
      • Confusing kernel_size type requirements
      5. You want to keep the output size same as input (28x28) after Conv2D with filter size 5x5. Which padding and stride should you use?
      hard
      A. padding='same', strides=(1, 1)
      B. padding='valid', strides=(1, 1)
      C. padding='same', strides=(2, 2)
      D. padding='valid', strides=(2, 2)

      Solution

      1. Step 1: Understand output size preservation

        To keep output size same as input, use 'same' padding and stride 1 so filter slides over every pixel with padding added.
      2. Step 2: Check options

        Only padding='same', strides=(1, 1) uses 'same' padding and stride (1,1), which preserves size.
      3. Final Answer:

        padding='same', strides=(1, 1) -> Option A
      4. Quick Check:

        Same padding + stride 1 keeps size [OK]
      Hint: Use 'same' padding and stride 1 to keep output size [OK]
      Common Mistakes:
      • Using 'valid' padding which shrinks output
      • Using stride > 1 which reduces output size
      • Confusing filter size effect on output
      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