code: def main(architecture_parameters):
      batch_size = 1280
      num_classes = 10
      epochs = 1
      img_rows, img_cols = 28, 28
  
      (x_train, y_train), (x_test, y_test) = mnist.load_data()
      x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)
      x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
      x_train = x_train.astype("float32")
      x_test = x_test.astype("float32")
      x_train /= 255
      x_test /= 255
      print("x_train shape:", x_train.shape)
      print(x_train.shape[0], "train samples")
      print(x_test.shape[0], "test samples")
  
      # convert class vectors to binary class matrices
      y_train = keras.utils.to_categorical(y_train, num_classes)
      y_test = keras.utils.to_categorical(y_test, num_classes)
  
      # model = build_model()
      # architecture_parameters = [32, 3, 2, 64, 3, 2]
      model = build_model_with_architecture(architecture_parameters)
  
      model.compile(
          loss=keras.losses.categorical_crossentropy,
          optimizer=keras.optimizers.Adadelta(),
          metrics=["accuracy"],
      )
  
      model.fit(
          x_train,
          y_train,
          batch_size=batch_size,
          epochs=epochs,
          verbose=1,
          validation_data=(x_test, y_test),
      )
      score = model.evaluate(x_test, y_test, verbose=0)
      print("Test loss:", score[0])
      print("Test accuracy:", score[1])
  
      return score[1]
  
file_path: advisor/examples/keras/mnist_cnn.py
imports: from __future__ import print_function
  import keras
  from keras.datasets import mnist
  from keras.models import Sequential
  from keras.layers import Input, Dense, Dropout, Flatten, GlobalAveragePooling2D
  from keras.layers import Conv2D, MaxPooling2D
  from keras import backend
  from keras.models import Model
label_desc: Use image node_id 1 for calling a global function with example usage: main(architecture_parameters) and returns: score