Bird
Raised Fist0
TensorFlowml~10 mins

Model training component 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 compile the TensorFlow model with the Adam optimizer.

TensorFlow
model.compile(optimizer=[1], loss='sparse_categorical_crossentropy', metrics=['accuracy'])
Drag options to blanks, or click blank then click option'
A'adagrad'
B'sgd'
C'rmsprop'
D'adam'
Attempts:
3 left
💡 Hint
Common Mistakes
Using an optimizer name without quotes.
Choosing an optimizer not suitable for classification.
2fill in blank
medium

Complete the code to train the model for 10 epochs on the training data.

TensorFlow
history = model.fit(x_train, y_train, epochs=[1])
Drag options to blanks, or click blank then click option'
A50
B10
C20
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Setting epochs to 1, which may underfit the model.
Using a very high number causing long training times.
3fill in blank
hard

Fix the error in the code by completing the batch size parameter correctly.

TensorFlow
history = model.fit(x_train, y_train, epochs=5, batch_size=[1])
Drag options to blanks, or click blank then click option'
A'32'
BNone
C32
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Passing batch size as a string causes a type error.
Using zero or None disables batching incorrectly.
4fill in blank
hard

Fill both blanks to evaluate the model on test data and print the accuracy.

TensorFlow
loss, [1] = model.evaluate(x_test, y_test)
print('Test accuracy:', [2])
Drag options to blanks, or click blank then click option'
Aaccuracy
Bloss
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing loss and accuracy variables.
Printing loss instead of accuracy.
5fill in blank
hard

Fill all three blanks to compile the model with RMSprop optimizer, mean squared error loss, and track mean absolute error metric.

TensorFlow
model.compile(optimizer=[1], loss=[2], metrics=[[3]])
Drag options to blanks, or click blank then click option'
A'rmsprop'
B'mean_squared_error'
C'mean_absolute_error'
D'accuracy'
Attempts:
3 left
💡 Hint
Common Mistakes
Using classification loss with regression metrics.
Mixing optimizer names with metric names.

Practice

(1/5)
1. What is the main purpose of the model.fit function in TensorFlow?
easy
A. To make predictions on new data
B. To evaluate the model's performance on test data
C. To save the model to disk
D. To train the model on the given data

Solution

  1. Step 1: Understand the role of model.fit

    model.fit is used to train the model by adjusting its weights based on the training data.

  2. Step 2: Differentiate from other functions

    Functions like model.evaluate check performance, model.save saves the model, and model.predict makes predictions. These are not for training.

  3. Final Answer:

    To train the model on the given data -> Option D
  4. Quick Check:

    model.fit = train model [OK]
Hint: Remember: fit means training the model [OK]
Common Mistakes:
  • Confusing fit with predict
  • Thinking fit saves the model
  • Mixing up training and evaluation functions
2. Which of the following is the correct way to set the number of training cycles (epochs) in model.fit?
easy
A. model.fit(x_train, y_train, epoch=10)
B. model.fit(x_train, y_train, epochs=10)
C. model.fit(x_train, y_train, n_epochs=10)
D. model.fit(x_train, y_train, cycles=10)

Solution

  1. Step 1: Recall the correct parameter name

    The parameter to set training cycles is epochs, plural.
  2. Step 2: Check the options for correct syntax

    Only model.fit(x_train, y_train, epochs=10) uses epochs=10 correctly. Others use incorrect parameter names.
  3. Final Answer:

    model.fit(x_train, y_train, epochs=10) -> Option B
  4. Quick Check:

    Use epochs to set training cycles [OK]
Hint: Use 'epochs' plural to set training rounds [OK]
Common Mistakes:
  • Using 'epoch' instead of 'epochs'
  • Using 'n_epochs' or 'cycles' which are invalid
  • Misspelling the parameter name
3. What will be the output of the following code snippet?
import tensorflow as tf
import numpy as np

x_train = np.array([[1], [2], [3], [4]])
y_train = np.array([2, 4, 6, 8])

model = tf.keras.Sequential([
  tf.keras.layers.Dense(1, input_shape=(1,))
])

model.compile(optimizer='sgd', loss='mse')
history = model.fit(x_train, y_train, epochs=2, verbose=0)

print(history.history['loss'])
medium
A. A list of two loss values decreasing over epochs
B. An error because of missing metrics
C. [0.5, 0.25]
D. Empty list []

Solution

  1. Step 1: Understand the code training process

    The model is a simple linear layer trained with mean squared error loss for 2 epochs on a linear dataset.
  2. Step 2: Predict the output of history.history['loss']

    This returns a list of loss values for each epoch, which should decrease as the model learns.
  3. Final Answer:

    A list of two loss values decreasing over epochs -> Option A
  4. Quick Check:

    Loss list decreases over epochs [OK]
Hint: Training loss list shows progress per epoch [OK]
Common Mistakes:
  • Expecting exact loss numbers without running
  • Thinking metrics are required for loss output
  • Assuming loss list is empty or error
4. Identify the error in this TensorFlow training code:
model = tf.keras.Sequential([
  tf.keras.layers.Dense(1, input_shape=(1,))
])

model.compile(optimizer='adam', loss='mse')
model.fit(x_train, y_train, epoch=5)
medium
A. The parameter 'epoch' should be 'epochs' in model.fit
B. Missing optimizer in model.compile
C. Input shape should be (None, 1) instead of (1,)
D. Loss function 'mse' is invalid

Solution

  1. Step 1: Check the parameters of model.fit

    The parameter to set training cycles is epochs, not epoch.
  2. Step 2: Verify other parts of the code

    Optimizer and loss are correctly set. Input shape (1,) is valid for single feature input.
  3. Final Answer:

    The parameter 'epoch' should be 'epochs' in model.fit -> Option A
  4. Quick Check:

    Use 'epochs' plural in model.fit [OK]
Hint: Check spelling of 'epochs' parameter carefully [OK]
Common Mistakes:
  • Using 'epoch' instead of 'epochs'
  • Assuming input_shape is wrong for single feature
  • Thinking 'mse' is invalid loss
5. You want to train a TensorFlow model on a dataset but notice the training loss does not decrease after many epochs. Which of the following is the best next step to improve training?
hard
A. Remove the loss function from model.compile
B. Increase the number of epochs to 1000 without changing anything else
C. Change the optimizer to a different one like 'adam' and check learning rate
D. Use model.predict instead of model.fit

Solution

  1. Step 1: Understand why loss might not decrease

    Loss not decreasing often means the optimizer or learning rate is not suitable for the problem.
  2. Step 2: Choose the best corrective action

    Changing to a better optimizer like 'adam' and tuning learning rate helps the model learn better. Increasing epochs alone won't help if learning is stuck.
  3. Final Answer:

    Change the optimizer to a different one like 'adam' and check learning rate -> Option C
  4. Quick Check:

    Adjust optimizer and learning rate to improve training [OK]
Hint: If loss stuck, try different optimizer and tune learning rate [OK]
Common Mistakes:
  • Just increasing epochs without fixing optimizer
  • Removing loss function causes errors
  • Using predict instead of fit for training
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