Bird
Raised Fist0
TensorFlowml~10 mins

Why visual AI extends beyond classification in TensorFlow - Test Your Understanding

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

Complete the code to load a pre-trained image classification model in TensorFlow.

TensorFlow
import tensorflow as tf
model = tf.keras.applications.[1](weights='imagenet')
Drag options to blanks, or click blank then click option'
AResNet50
BRandomForest
CLinearRegression
DKMeans
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing models not related to image classification like LinearRegression.
2fill in blank
medium

Complete the code to preprocess an image for the ResNet50 model.

TensorFlow
from tensorflow.keras.applications.resnet50 import preprocess_input
img = tf.keras.utils.load_img('image.jpg', target_size=(224, 224))
img_array = tf.keras.utils.img_to_array(img)
img_array = tf.expand_dims(img_array, axis=0)
processed_img = [1](img_array)
Drag options to blanks, or click blank then click option'
Aresize
Bpreprocess_input
Cnormalize
Ddecode_predictions
Attempts:
3 left
💡 Hint
Common Mistakes
Using decode_predictions instead of preprocess_input for preprocessing.
3fill in blank
hard

Fix the error in the code to get predictions from the model and decode them.

TensorFlow
preds = model.predict(processed_img)
results = tf.keras.applications.resnet50.[1](preds, top=3)
Drag options to blanks, or click blank then click option'
Aload_img
Bpreprocess_input
Cpredict_classes
Ddecode_predictions
Attempts:
3 left
💡 Hint
Common Mistakes
Using preprocess_input instead of decode_predictions after prediction.
4fill in blank
hard

Fill both blanks to create a simple image segmentation model using TensorFlow Keras.

TensorFlow
from tensorflow.keras import layers, models
inputs = layers.Input(shape=(128, 128, 3))
x = layers.Conv2D(32, (3, 3), activation='relu', padding='same')([1])
x = layers.Conv2D(1, (1, 1), activation='sigmoid', padding='same')([2])
model = models.Model(inputs=inputs, outputs=x)
Drag options to blanks, or click blank then click option'
Ainputs
Bx
Coutputs
Dmodel
Attempts:
3 left
💡 Hint
Common Mistakes
Passing wrong variables like 'outputs' or 'model' to layers.
5fill in blank
hard

Fill all three blanks to compute accuracy and loss for a classification model in TensorFlow.

TensorFlow
model.compile(optimizer='adam', loss=[1], metrics=[[2]])
history = model.fit(train_data, train_labels, epochs=5)
final_acc = history.history[[3]][-1]
Drag options to blanks, or click blank then click option'
A'categorical_crossentropy'
B'accuracy'
D'loss'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'loss' key to get accuracy or wrong loss function.

Practice

(1/5)
1. Which of the following best explains why visual AI goes beyond simple image classification?
easy
A. Because it includes tasks like detecting objects and segmenting images for detailed understanding.
B. Because classification is the only task needed for image understanding.
C. Because visual AI only works with black and white images.
D. Because it ignores the content inside images.

Solution

  1. Step 1: Understand the scope of visual AI

    Visual AI includes many tasks beyond classification, such as object detection and segmentation, which provide more detailed information about images.
  2. Step 2: Compare options

    Because it includes tasks like detecting objects and segmenting images for detailed understanding. correctly states that visual AI includes these tasks, while others are incorrect or too narrow.
  3. Final Answer:

    Because it includes tasks like detecting objects and segmenting images for detailed understanding. -> Option A
  4. Quick Check:

    Visual AI = More than classification [OK]
Hint: Visual AI means detailed image understanding, not just labels [OK]
Common Mistakes:
  • Thinking classification covers all visual AI tasks
  • Ignoring object detection and segmentation
  • Confusing image color with AI capability
2. Which TensorFlow function is commonly used to build a model for image segmentation tasks?
easy
A. tf.keras.Sequential()
B. tf.keras.Model()
C. tf.keras.layers.Conv2D()
D. tf.data.Dataset()

Solution

  1. Step 1: Identify model building functions

    tf.keras.Model() allows building complex models like those needed for image segmentation, supporting multiple inputs and outputs.
  2. Step 2: Compare other options

    tf.keras.Sequential() is simpler and less flexible, Conv2D is a layer, and tf.data.Dataset is for data input pipelines.
  3. Final Answer:

    tf.keras.Model() -> Option B
  4. Quick Check:

    Use tf.keras.Model for flexible segmentation models [OK]
Hint: Use tf.keras.Model for complex image tasks like segmentation [OK]
Common Mistakes:
  • Confusing layers with model constructors
  • Using Sequential for multi-output models
  • Mixing data pipeline functions with model building
3. Given this TensorFlow code snippet for object detection, what will be the shape of the output tensor?
import tensorflow as tf
model = tf.keras.Sequential([
  tf.keras.layers.Conv2D(16, 3, activation='relu', input_shape=(64, 64, 3)),
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dense(4)  # outputs bounding box coordinates
])
output = model(tf.random.uniform([1, 64, 64, 3]))
print(output.shape)
medium
A. (1, 4)
B. (64, 64, 16)
C. (1, 64, 64, 16)
D. (4,)

Solution

  1. Step 1: Analyze model layers and output

    The model input is (64, 64, 3). Conv2D outputs (64, 64, 16). Flatten converts this to a vector, then Dense(4) outputs a vector of size 4.
  2. Step 2: Check batch dimension

    Input batch size is 1, so output shape is (1, 4).
  3. Final Answer:

    (1, 4) -> Option A
  4. Quick Check:

    Output shape = (batch_size, 4) [OK]
Hint: Dense(4) outputs shape (batch_size, 4) after flatten [OK]
Common Mistakes:
  • Confusing Conv2D output shape with final output
  • Ignoring batch dimension
  • Assuming output shape matches input image size
4. This TensorFlow code aims to perform image segmentation but has an error. What is the problem?
import tensorflow as tf
inputs = tf.keras.Input(shape=(128, 128, 3))
x = tf.keras.layers.Conv2D(32, 3, activation='relu')(inputs)
x = tf.keras.layers.Dense(1, activation='sigmoid')(x)
model = tf.keras.Model(inputs, x)
medium
A. Missing activation function in Conv2D layer.
B. Input shape is incorrect for image data.
C. Model lacks an output layer.
D. Dense layer cannot be applied directly to 4D tensor from Conv2D.

Solution

  1. Step 1: Understand layer input/output shapes

    Conv2D outputs a 4D tensor (batch, height, width, channels). Dense expects 2D input (batch, features).
  2. Step 2: Identify the error

    Applying Dense directly to Conv2D output causes shape mismatch error.
  3. Final Answer:

    Dense layer cannot be applied directly to 4D tensor from Conv2D. -> Option D
  4. Quick Check:

    Dense needs 2D input, Conv2D outputs 4D [OK]
Hint: Dense layers need flat input, not Conv2D 4D output [OK]
Common Mistakes:
  • Assuming Dense works on 4D tensors
  • Ignoring tensor shape requirements
  • Thinking activation missing causes error
5. You want to build a TensorFlow model that not only classifies images but also detects multiple objects and segments them. Which approach best fits this goal?
hard
A. Use only a classification model and infer objects from class labels.
B. Train separate models for classification, detection, and segmentation and use them independently.
C. Use a single model with multiple outputs: one for classification, one for bounding boxes, and one for segmentation masks.
D. Use a simple Dense network with one output layer.

Solution

  1. Step 1: Understand multi-task learning

    A single model with multiple outputs can learn classification, detection, and segmentation together, sharing features efficiently.
  2. Step 2: Compare alternatives

    Separate models increase complexity and latency; classification-only models lack detection and segmentation; simple Dense networks cannot handle images well.
  3. Final Answer:

    Use a single model with multiple outputs: one for classification, one for bounding boxes, and one for segmentation masks. -> Option C
  4. Quick Check:

    Multi-output model fits combined visual AI tasks [OK]
Hint: Multi-output models handle classification, detection, segmentation together [OK]
Common Mistakes:
  • Thinking separate models are always better
  • Ignoring need for segmentation masks
  • Using simple Dense layers for images
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