Bird
Raised Fist0
TensorFlowml~10 mins

Data augmentation for images in TensorFlow - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a data augmentation layer that randomly flips images horizontally.

TensorFlow
data_augmentation = tf.keras.Sequential([
    tf.keras.layers.RandomFlip([1])
])
Drag options to blanks, or click blank then click option'
A'none'
B'vertical'
C'horizontal_and_vertical'
D'horizontal'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'vertical' which flips images top to bottom instead of horizontally.
Using 'none' which disables flipping.
2fill in blank
medium

Complete the code to add a random rotation of 20% to the data augmentation pipeline.

TensorFlow
data_augmentation = tf.keras.Sequential([
    tf.keras.layers.RandomRotation([1])
])
Drag options to blanks, or click blank then click option'
A0.2
B20
C2
D0.02
Attempts:
3 left
💡 Hint
Common Mistakes
Using 20 which is interpreted as 20 full rotations (invalid).
Using 2 which is more than 1 and invalid.
3fill in blank
hard

Fix the error in the code to correctly apply random zoom augmentation.

TensorFlow
data_augmentation = tf.keras.Sequential([
    tf.keras.layers.RandomZoom(height_factor=[1])
])
Drag options to blanks, or click blank then click option'
A'0.1'
B10
C0.1
D-0.1
Attempts:
3 left
💡 Hint
Common Mistakes
Using a string instead of a float.
Using a negative value which is invalid.
Using a large integer which is out of range.
4fill in blank
hard

Fill both blanks to create a data augmentation pipeline that randomly flips images vertically and applies random contrast adjustment.

TensorFlow
data_augmentation = tf.keras.Sequential([
    tf.keras.layers.RandomFlip([1]),
    tf.keras.layers.RandomContrast([2])
])
Drag options to blanks, or click blank then click option'
A'vertical'
B0.2
C0.5
D'horizontal'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'horizontal' instead of 'vertical' for flipping.
Using contrast factor greater than 1 which is invalid.
5fill in blank
hard

Fill all three blanks to create a data augmentation pipeline that randomly flips images horizontally, applies random rotation of 10%, and random zoom of 15%.

TensorFlow
data_augmentation = tf.keras.Sequential([
    tf.keras.layers.RandomFlip([1]),
    tf.keras.layers.RandomRotation([2]),
    tf.keras.layers.RandomZoom([3])
])
Drag options to blanks, or click blank then click option'
A'horizontal'
B0.1
C0.15
D'vertical'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'vertical' flip instead of 'horizontal'.
Using rotation or zoom values greater than 1.

Practice

(1/5)
1. What is the main purpose of data augmentation in image training with TensorFlow?
easy
A. To create new images by modifying existing ones to improve model learning
B. To reduce the size of the training dataset
C. To convert images into text format
D. To remove noise from images before training

Solution

  1. Step 1: Understand data augmentation concept

    Data augmentation means making new images by changing existing images, like flipping or rotating.
  2. Step 2: Connect augmentation to model training

    This helps the model see more variety and learn better, improving accuracy.
  3. Final Answer:

    To create new images by modifying existing ones to improve model learning -> Option A
  4. Quick Check:

    Data augmentation = create new images [OK]
Hint: Augmentation means making new images from old ones [OK]
Common Mistakes:
  • Thinking augmentation reduces dataset size
  • Confusing augmentation with noise removal
  • Believing augmentation converts images to text
2. Which TensorFlow layer is correctly used to flip images horizontally during training?
easy
A. tf.keras.layers.RandomFlip('horizontal')
B. tf.keras.layers.RandomFlip('vertical')
C. tf.keras.layers.RandomRotation(0.5)
D. tf.keras.layers.RandomZoom(0.2)

Solution

  1. Step 1: Identify the correct flip direction

    To flip images horizontally, use 'horizontal' as the argument in RandomFlip.
  2. Step 2: Match the correct TensorFlow syntax

    RandomFlip('horizontal') flips images left to right, which is the correct usage.
  3. Final Answer:

    tf.keras.layers.RandomFlip('horizontal') -> Option A
  4. Quick Check:

    Horizontal flip = RandomFlip('horizontal') [OK]
Hint: Use 'horizontal' string inside RandomFlip for left-right flip [OK]
Common Mistakes:
  • Using 'vertical' instead of 'horizontal' for horizontal flip
  • Confusing RandomFlip with RandomRotation
  • Passing numeric values instead of strings to RandomFlip
3. What will be the output shape after applying this augmentation layer to a batch of 32 images of size 64x64x3?
augmentation = tf.keras.Sequential([
  tf.keras.layers.RandomFlip('horizontal'),
  tf.keras.layers.RandomRotation(0.1)
])
augmented_images = augmentation(tf.random.uniform([32, 64, 64, 3]))
print(augmented_images.shape)
medium
A. (32, 128, 128, 3)
B. (64, 64, 3)
C. (32, 64, 64, 3)
D. (32, 64, 64)

Solution

  1. Step 1: Understand input shape and augmentation effect

    The input batch has shape (32, 64, 64, 3), meaning 32 images, each 64x64 pixels with 3 color channels.
  2. Step 2: Check if augmentation changes shape

    RandomFlip and RandomRotation only modify image content, not size or batch count, so output shape stays the same.
  3. Final Answer:

    (32, 64, 64, 3) -> Option C
  4. Quick Check:

    Augmentation keeps shape same = (32, 64, 64, 3) [OK]
Hint: Augmentation changes pixels, not image shape [OK]
Common Mistakes:
  • Assuming rotation changes image size
  • Confusing batch size with image dimensions
  • Expecting channel count to change
4. Identify the error in this TensorFlow augmentation code snippet:
augmentation = tf.keras.Sequential([
  tf.keras.layers.RandomFlip(horizontal),
  tf.keras.layers.RandomRotation(0.2)
])
medium
A. Missing input shape in Sequential
B. RandomRotation cannot take float values
C. Sequential cannot contain augmentation layers
D. RandomFlip requires a string argument like 'horizontal', not a variable

Solution

  1. Step 1: Check RandomFlip argument type

    RandomFlip expects a string such as 'horizontal' or 'vertical', but here horizontal is used without quotes, treated as a variable.
  2. Step 2: Confirm other parts are correct

    RandomRotation accepts float values; Sequential can contain augmentation layers; input shape is optional here.
  3. Final Answer:

    RandomFlip requires a string argument like 'horizontal', not a variable -> Option D
  4. Quick Check:

    RandomFlip argument must be string [OK]
Hint: Put flip direction in quotes: 'horizontal' [OK]
Common Mistakes:
  • Passing variable without quotes to RandomFlip
  • Thinking RandomRotation disallows floats
  • Believing Sequential can't hold augmentation layers
5. You want to augment only the training images but not validation or test images. Which is the best way to apply augmentation in TensorFlow?
hard
A. Apply augmentation layers inside the model and use them for all data
B. Apply augmentation only on the training dataset pipeline before feeding to the model
C. Augment validation and test data to increase evaluation accuracy
D. Apply augmentation after model prediction to improve results

Solution

  1. Step 1: Understand augmentation purpose

    Augmentation is used to increase training data variety to help model learn better.
  2. Step 2: Decide where to apply augmentation

    Applying augmentation only on training data pipeline ensures validation and test data remain original for fair evaluation.
  3. Final Answer:

    Apply augmentation only on the training dataset pipeline before feeding to the model -> Option B
  4. Quick Check:

    Augment training data only = Apply augmentation only on the training dataset pipeline before feeding to the model [OK]
Hint: Augment only training data, not validation/test [OK]
Common Mistakes:
  • Augmenting validation or test data
  • Applying augmentation after prediction
  • Using augmentation layers inside model for all data
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