Bird
Raised Fist0
TensorFlowml~20 mins

Loading and inference in TensorFlow - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Loading and Inference Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of model prediction after loading
Given the following TensorFlow code that loads a saved model and runs inference on a sample input, what will be the printed output?
TensorFlow
import tensorflow as tf
import numpy as np

model = tf.keras.models.load_model('my_model')
sample_input = np.array([[1.0, 2.0, 3.0]])
prediction = model.predict(sample_input)
print(prediction)
A[[0.3 0.4 0.3]]
BRaises a FileNotFoundError
C[[0.1 0.7 0.2]]
DA numpy array with shape (1, 3) containing probabilities
Attempts:
2 left
💡 Hint
The output shape and type depend on the model's last layer and input shape.
❓ Model Choice
intermediate
1:30remaining
Choosing the correct method to load a TensorFlow model
Which TensorFlow method correctly loads a saved Keras model for inference?
Atf.keras.load('path_to_model')
Btf.saved_model.load('path_to_model')
Ctf.keras.models.load_model('path_to_model')
Dtf.load_model('path_to_model')
Attempts:
2 left
💡 Hint
Keras models have a specific loading function.
❓ Hyperparameter
advanced
2:00remaining
Effect of batch size on inference speed
When performing inference with a loaded TensorFlow model, how does increasing the batch size generally affect inference speed and memory usage?
AInference speed per sample increases and memory usage increases
BInference speed per sample decreases and memory usage increases
CInference speed per sample decreases and memory usage decreases
DInference speed per sample increases and memory usage decreases
Attempts:
2 left
💡 Hint
Think about processing multiple inputs at once.
❓ Metrics
advanced
1:30remaining
Interpreting inference output probabilities
A loaded TensorFlow classification model outputs the following prediction for a single input: [[0.05, 0.9, 0.05]]. What does this output represent?
AThe model predicts class 2 with 90% confidence
BThe model predicts class 1 with 90% confidence
CThe model predicts class 0 with 90% confidence
DThe model output is invalid because probabilities do not sum to 1
Attempts:
2 left
💡 Hint
Look at the highest probability and its index.
🔧 Debug
expert
2:30remaining
Identifying the cause of an error during model loading
You run the following code to load a TensorFlow model saved in 'model_dir', but get the error: "OSError: SavedModel file does not exist at: model_dir". What is the most likely cause?
TensorFlow
import tensorflow as tf
model = tf.keras.models.load_model('model_dir')
AThe path 'model_dir' is incorrect or the directory does not contain a saved model
BThe model was saved using tf.saved_model.save instead of tf.keras.models.save_model
CThe model file is corrupted and cannot be loaded
DTensorFlow version is incompatible with the saved model format
Attempts:
2 left
💡 Hint
Check the file path and directory contents.

Practice

(1/5)
1. What is the main purpose of tf.keras.models.load_model() in TensorFlow?
easy
A. To visualize the model architecture
B. To load a previously saved model for inference or further training
C. To compile a model with loss and optimizer
D. To create a new model architecture from scratch

Solution

  1. Step 1: Understand the function purpose

    tf.keras.models.load_model() is used to load a model that was saved earlier, including its architecture, weights, and optimizer state.
  2. Step 2: Differentiate from other functions

    Creating a new model or compiling it are separate steps. Loading is specifically for retrieving a saved model.
  3. Final Answer:

    To load a previously saved model for inference or further training -> Option B
  4. Quick Check:

    Load saved model = load_model() [OK]
Hint: Load saved models with load_model() function [OK]
Common Mistakes:
  • Confusing load_model() with model creation
  • Thinking load_model() compiles the model
  • Assuming load_model() only loads weights
2. Which of the following is the correct way to get predictions from a loaded TensorFlow model named model on input data new_data?
easy
A. predictions = model.predict(new_data)
B. predictions = model.fit(new_data)
C. predictions = model.evaluate(new_data)
D. predictions = model.compile(new_data)

Solution

  1. Step 1: Identify the correct method for inference

    To get predictions from a model, the method predict() is used.
  2. Step 2: Understand other methods

    fit() trains the model, evaluate() tests performance, and compile() sets up the model.
  3. Final Answer:

    predictions = model.predict(new_data) -> Option A
  4. Quick Check:

    Predict new data = model.predict() [OK]
Hint: Use model.predict() to get predictions [OK]
Common Mistakes:
  • Using fit() instead of predict() for inference
  • Calling evaluate() expecting predictions
  • Trying to compile() during prediction
3. Given the following code, what will be the shape of predictions?
import tensorflow as tf
import numpy as np
model = tf.keras.Sequential([
  tf.keras.layers.Dense(3, input_shape=(4,))
])
model.compile(optimizer='adam', loss='mse')
input_data = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
predictions = model.predict(input_data)
medium
A. (3, 4)
B. (4, 3)
C. (2, 3)
D. (2, 4)

Solution

  1. Step 1: Analyze input shape and batch size

    The input data has shape (2, 4) meaning 2 samples, each with 4 features.
  2. Step 2: Determine output shape from model layer

    The Dense layer outputs 3 units per sample, so output shape is (2, 3).
  3. Final Answer:

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

    Input batch 2, output units 3 = (2, 3) [OK]
Hint: Output shape = (batch_size, units in last layer) [OK]
Common Mistakes:
  • Confusing input shape with output shape
  • Mixing batch size and feature dimensions
  • Assuming output shape matches input shape
4. You loaded a model with model = tf.keras.models.load_model('my_model') but get this error when calling model.predict(new_data): ValueError: Error when checking input: expected dense_input to have shape (4,) but got array with shape (3,). What is the likely cause?
medium
A. The input data shape does not match the model's expected input shape
B. The model was not compiled before prediction
C. The model file is corrupted
D. The predict() method was called without training the model

Solution

  1. Step 1: Understand the error message

    The error says the model expects input shape (4,), but received (3,), meaning input data shape is wrong.
  2. Step 2: Rule out other causes

    Model compilation is not required for prediction, corrupted files cause different errors, and training is not needed for predict().
  3. Final Answer:

    The input data shape does not match the model's expected input shape -> Option A
  4. Quick Check:

    Input shape mismatch = ValueError [OK]
Hint: Match input data shape to model input shape exactly [OK]
Common Mistakes:
  • Ignoring input shape mismatch
  • Thinking model must be compiled before predict
  • Assuming predict requires training first
5. You have a saved TensorFlow model that expects input shape (None, 5). You want to predict on a single sample with 5 features stored in a list sample = [1, 2, 3, 4, 5]. Which code snippet correctly prepares the input and gets the prediction?
hard
A. input_data = np.array(sample) prediction = model.predict(input_data)
B. input_data = np.array(sample).reshape(1, 1, 5) prediction = model.predict(input_data)
C. input_data = np.array(sample).reshape(5, 1) prediction = model.predict(input_data)
D. import numpy as np input_data = np.array([sample]) prediction = model.predict(input_data)

Solution

  1. Step 1: Understand model input shape

    The model expects input shape (None, 5), where None is batch size, so input must be 2D with shape (batch_size, 5).
  2. Step 2: Prepare input data correctly

    Wrapping the sample list in another list creates shape (1, 5), which matches expected input.
  3. Step 3: Check other options

    input_data = np.array(sample) prediction = model.predict(input_data) gives shape (5,), not 2D; input_data = np.array(sample).reshape(5, 1) prediction = model.predict(input_data) reshapes to (5,1) which is wrong; input_data = np.array(sample).reshape(1, 1, 5) prediction = model.predict(input_data) reshapes to (1,1,5) which is 3D and incorrect.
  4. Final Answer:

    import numpy as np input_data = np.array([sample]) prediction = model.predict(input_data) -> Option D
  5. Quick Check:

    Input shape (1,5) matches model input [OK]
Hint: Wrap single sample in list to add batch dimension [OK]
Common Mistakes:
  • Passing 1D array instead of 2D batch input
  • Incorrect reshaping causing wrong input dimensions
  • Adding extra unnecessary dimensions
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