Bird
Raised Fist0
TensorFlowml~5 mins

Data augmentation for images in TensorFlow - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is data augmentation in image processing?
Data augmentation is a technique to create new training images by applying random transformations like rotation, flipping, or zooming to existing images. It helps models learn better by seeing more varied data.
Click to reveal answer
beginner
Name three common image transformations used in data augmentation.
Common transformations include flipping (horizontal or vertical), rotation (turning the image by some degrees), and zooming (scaling the image in or out).
Click to reveal answer
intermediate
How does data augmentation help prevent overfitting?
By showing the model many different versions of images, data augmentation makes the model less likely to memorize exact images and more likely to learn general patterns.
Click to reveal answer
intermediate
In TensorFlow, which layer can be used to apply data augmentation inside a model?
The tf.keras.layers.RandomFlip, RandomRotation, and RandomZoom layers can be used inside a model to apply data augmentation on the fly during training.
Click to reveal answer
advanced
What is the difference between offline and online data augmentation?
Offline augmentation creates and saves new images before training. Online augmentation applies random transformations during training without saving new images, saving storage and adding variety each epoch.
Click to reveal answer
Which of the following is NOT a typical image augmentation technique?
ASorting pixels by brightness
BFlipping
CAdding random noise
DRotation
What is the main benefit of using data augmentation in training image models?
AReduce model size
BIncrease dataset size and improve model generalization
CMake training faster
DRemove noisy images
Which TensorFlow layer would you use to flip images randomly during training?
Atf.keras.layers.Conv2D
Btf.keras.layers.Dense
Ctf.keras.layers.Dropout
Dtf.keras.layers.RandomFlip
What does online data augmentation mean?
AApplying random transformations during training without saving images
BAugmenting images before training and saving them
CUsing only original images without changes
DAugmenting images after training
Which of these is a valid reason to use data augmentation?
ATo reduce the number of model parameters
BTo make images smaller in file size
CTo artificially increase training data diversity
DTo convert images to grayscale
Explain how data augmentation improves image model training and name some common augmentation techniques.
Think about how showing different versions of images helps the model.
You got /5 concepts.
    Describe the difference between offline and online data augmentation and why you might choose one over the other.
    Consider when and how augmented images are created and used.
    You got /4 concepts.

      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