0
0
TensorFlowml~20 mins

Saving weights only in TensorFlow - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Weights Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output of this TensorFlow code snippet?
Consider the following code that creates a simple model, saves only its weights, then reloads them. What will be printed?
TensorFlow
import tensorflow as tf
import numpy as np

model = tf.keras.Sequential([
    tf.keras.layers.Dense(2, input_shape=(3,), activation='relu')
])

model.compile(optimizer='adam', loss='mse')

# Train on dummy data
x = np.array([[1, 2, 3]])
y = np.array([[1, 0]])
model.fit(x, y, epochs=1, verbose=0)

# Save weights
model.save_weights('weights_only.ckpt')

# Create new model instance
new_model = tf.keras.Sequential([
    tf.keras.layers.Dense(2, input_shape=(3,), activation='relu')
])

# Load weights
new_model.load_weights('weights_only.ckpt')

# Predict with new model
pred = new_model.predict(x)
print(pred)
A[[0.5 0.1]] (approximate values, non-zero output)
B[[0. 0.]] (all zeros output)
CRaises ValueError due to shape mismatch
DRaises FileNotFoundError because weights file missing
Attempts:
2 left
💡 Hint
Weights saved and loaded correctly should produce similar predictions.
Model Choice
intermediate
1:30remaining
Which model architecture is compatible for loading saved weights?
You saved weights from a model with layers: Dense(4, input_shape=(5,)), Dense(2). Which new model can load these weights without error?
ASequential model with Dense(4, input_shape=(5,)) followed by Dense(3)
BSequential model with Dense(4, input_shape=(4,)) followed by Dense(2)
CSequential model with Dense(5, input_shape=(5,)) followed by Dense(2)
DSequential model with Dense(4, input_shape=(5,)) followed by Dense(2)
Attempts:
2 left
💡 Hint
The architecture must match exactly to load weights.
Hyperparameter
advanced
1:30remaining
What happens if you save weights before training?
You create a model and immediately save its weights before any training. What will the saved weights represent?
AWeights with NaN values causing errors on load
BWeights all set to zero
CRandomly initialized weights as per the layer initializers
DWeights from a previously trained model
Attempts:
2 left
💡 Hint
Model weights start with initial random values before training.
🔧 Debug
advanced
2:00remaining
Why does loading weights fail with this error?
You saved weights from a model with layers: Dense(3, input_shape=(2,)), Dense(1). Now you try to load weights into a model with layers: Dense(3, input_shape=(3,)), Dense(1). The error is: ValueError: Layer weight shape mismatch. What caused this?
AInput shape of the first layer differs between saved and new model
BNumber of layers differs between saved and new model
CActivation functions differ between saved and new model
DOptimizer settings differ between saved and new model
Attempts:
2 left
💡 Hint
Weights depend on layer input and output sizes.
🧠 Conceptual
expert
2:30remaining
Why save only weights instead of the full model?
Which is the main advantage of saving only the weights of a TensorFlow model instead of the entire model?
AWeights files are smaller and allow flexible model architecture changes when reloading
BWeights files are smaller and faster to save/load but require the same architecture to reload
CWeights files include optimizer state and training configuration for exact resuming
DWeights files can be loaded into any model regardless of architecture
Attempts:
2 left
💡 Hint
Weights alone do not store model architecture or optimizer info.