code: def functional_model():
      """Builds an MNIST functional model."""
      inp = keras.Input(image_input_shape())
      x = l.Conv2D(32, 5, padding="same", activation="relu")(inp)
      x = l.MaxPooling2D((2, 2), (2, 2), padding="same")(x)
      # TODO(pulkitb): Add BatchNorm when transformations are ready.
      # x = l.BatchNormalization()(x)
      x = l.Conv2D(64, 5, padding="same", activation="relu")(x)
      x = l.MaxPooling2D((2, 2), (2, 2), padding="same")(x)
      x = l.Flatten()(x)
      x = l.Dense(1024, activation="relu")(x)
      x = l.Dropout(0.4)(x)
      out = l.Dense(10, activation="softmax")(x)
  
      return keras.models.Model([inp], [out])
  
file_path: model-optimization/tensorflow_model_optimization/python/core/keras/testing/test_utils_mnist.py
imports: import numpy
  import tensorflow
  from tensorflow import keras
label_desc: Use image node_id 3 for calling a global function with example usage: functional_model() and returns: keras