Bird
Raised Fist0
TensorFlowml~10 mins

TensorFlow Serving setup - Interactive Code Practice

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

Complete the code to import TensorFlow Serving's model server module.

TensorFlow
from tensorflow_serving.apis import [1]
Drag options to blanks, or click blank then click option'
Aestimator
Btensorflow
Ckeras
Dprediction_service_pb2_grpc
Attempts:
3 left
💡 Hint
Common Mistakes
Importing tensorflow or keras instead of the serving API module.
2fill in blank
medium

Complete the code to create a gRPC channel to the TensorFlow Serving server running on localhost port 8500.

TensorFlow
channel = grpc.insecure_channel('[1]')
Drag options to blanks, or click blank then click option'
A127.0.0.1:8501
B0.0.0.0:8500
Clocalhost:8500
Dlocalhost:8501
Attempts:
3 left
💡 Hint
Common Mistakes
Using the REST port 8501 instead of gRPC port 8500.
3fill in blank
hard

Fix the error in the code to create a PredictRequest and set the model name to 'my_model'.

TensorFlow
request = predict_pb2.PredictRequest()
request.model_spec.name = '[1]'
Drag options to blanks, or click blank then click option'
Atensorflow_model
Bmy_model
Cmodel
Ddefault
Attempts:
3 left
💡 Hint
Common Mistakes
Using generic names like 'model' or 'tensorflow_model' that don't match the served model.
4fill in blank
hard

Fill both blanks to set the input tensor name and assign a numpy array named 'input_data' to the request.

TensorFlow
request.inputs['[1]'].CopyFrom(tf.make_tensor_proto([2]))
Drag options to blanks, or click blank then click option'
Ainput_tensor
Binput_data
Cdata
Dinputs
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong tensor names or assigning wrong variables to the request.
5fill in blank
hard

Fill all three blanks to send the request, get the response, and extract the output tensor named 'output_tensor'.

TensorFlow
stub = prediction_service_pb2_grpc.PredictionServiceStub([1])
response = stub.Predict(request, [2])
output = tf.make_ndarray(response.outputs['[3]'])
Drag options to blanks, or click blank then click option'
Achannel
B10.0
Coutput_tensor
Drequest
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong variable names or incorrect timeout values.

Practice

(1/5)
1. What is the main purpose of TensorFlow Serving in a machine learning workflow?
easy
A. To visualize training data and model metrics
B. To train new machine learning models from scratch
C. To preprocess data before training
D. To deploy trained models for real-time predictions

Solution

  1. Step 1: Understand TensorFlow Serving's role

    TensorFlow Serving is designed to make trained models available for real-time use without retraining.
  2. Step 2: Differentiate from other tasks

    Training, visualization, and preprocessing are separate steps not handled by TensorFlow Serving.
  3. Final Answer:

    To deploy trained models for real-time predictions -> Option D
  4. Quick Check:

    Serving = deploy models [OK]
Hint: Serving means making models ready for prediction [OK]
Common Mistakes:
  • Confusing serving with training
  • Thinking it handles data preprocessing
  • Assuming it visualizes metrics
2. Which command correctly starts TensorFlow Serving to serve a model saved in the directory /models/my_model/1/ with model name my_model?
easy
A. tensorflow_model_server --model_name my_model --model_base_path /models/my_model/1/
B. tensorflow_model_server --model_name=my_model --model_path=/models/my_model/1/
C. tensorflow_model_server --model_name=my_model --model_base_path=/models/my_model/1/
D. tensorflow_serve --model_name=my_model --model_base_path=/models/my_model/1/

Solution

  1. Step 1: Identify correct flags for TensorFlow Serving

    The correct flags are --model_name and --model_base_path with equal signs.
  2. Step 2: Check command correctness

    tensorflow_model_server --model_name=my_model --model_base_path=/models/my_model/1/ uses correct command and flags with equal signs; others have syntax errors or wrong command name.
  3. Final Answer:

    tensorflow_model_server --model_name=my_model --model_base_path=/models/my_model/1/ -> Option C
  4. Quick Check:

    Correct flags and command = tensorflow_model_server --model_name=my_model --model_base_path=/models/my_model/1/ [OK]
Hint: Use equal signs with flags and correct command name [OK]
Common Mistakes:
  • Using spaces instead of equal signs in flags
  • Wrong command name like tensorflow_serve
  • Using incorrect flag names like --model_path
3. Given the following Python code snippet to send data to a TensorFlow Serving REST API, what will be the printed output if the server returns a prediction of 0.85?
import requests
import json

url = 'http://localhost:8501/v1/models/my_model:predict'
data = {"instances": [[1.0, 2.0, 3.0]]}
response = requests.post(url, json=data)
prediction = response.json()['predictions'][0]
print(prediction)
medium
A. 0.85
B. [0.85]
C. {'predictions': [0.85]}
D. Error: KeyError

Solution

  1. Step 1: Understand the response JSON structure

    The server returns a JSON with key 'predictions' holding a list of prediction values, e.g., {'predictions': [0.85]}.
  2. Step 2: Extract the first prediction value

    Accessing response.json()['predictions'][0] extracts the float 0.85.
  3. Final Answer:

    0.85 -> Option A
  4. Quick Check:

    Extract first prediction value = 0.85 [OK]
Hint: Access ['predictions'][0] to get single prediction value [OK]
Common Mistakes:
  • Printing the whole JSON instead of the value
  • Forgetting to index the first prediction
  • Assuming prediction is a list, not a float
4. You tried to start TensorFlow Serving with the command tensorflow_model_server --model_name=my_model --model_base_path=/models/my_model/1/ but got an error saying the model path does not exist. What is the most likely cause?
medium
A. The command should use --model_path instead of --model_base_path
B. The model directory path is incorrect or missing the version subfolder
C. TensorFlow Serving requires the model to be in a .pb file, not a folder
D. The model name must be the full path, not just a name

Solution

  1. Step 1: Check model directory structure requirements

    TensorFlow Serving expects model_base_path to point to a directory containing version subfolders like '1', '2', etc.
  2. Step 2: Identify common path mistakes

    If the path misses the version folder or is incorrect, the server cannot find the model and throws an error.
  3. Final Answer:

    The model directory path is incorrect or missing the version subfolder -> Option B
  4. Quick Check:

    Model path must include version folder [OK]
Hint: Model path must include version folder like /1/ [OK]
Common Mistakes:
  • Using --model_path instead of --model_base_path
  • Pointing to a file instead of a directory
  • Confusing model name with path
5. You want to update your TensorFlow model served by TensorFlow Serving without downtime. Which approach allows you to serve the new model version while keeping the old version available for requests?
hard
A. Add the new model version in a new subfolder and update the model config file
B. Stop TensorFlow Serving, replace the old model folder, then restart the server
C. Serve the new model on a different port and manually switch clients
D. Retrain the model inside TensorFlow Serving using the new data

Solution

  1. Step 1: Understand TensorFlow Serving versioning

    TensorFlow Serving supports multiple model versions by placing each version in its own numbered subfolder.
  2. Step 2: Use model config file to add new version

    Adding the new version folder and updating the config allows serving both versions simultaneously without downtime.
  3. Final Answer:

    Add the new model version in a new subfolder and update the model config file -> Option A
  4. Quick Check:

    Versioned folders + config update = zero downtime [OK]
Hint: Use versioned folders and config to update without downtime [OK]
Common Mistakes:
  • Replacing model folder while server runs
  • Restarting server causes downtime
  • Trying to retrain model inside serving
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