code: def build_fn_opt(input_shape=-1):
      model = Sequential(
          [
              Reshape((28, 28, -1), input_shape=(784,)),
              Conv2D(
                  Categorical([32, 64, 128]),
                  kernel_size=Categorical([(2, 2), (3, 3), (4, 4)]),
                  activation="relu",
              ),
              Conv2D(
                  Categorical([32, 64, 128]),
                  kernel_size=Categorical([(2, 2), (3, 3), (4, 4)]),
                  activation="relu",
              ),
              MaxPooling2D(pool_size=Categorical([(2, 2), (3, 3)])),
              Dropout(0.25),
              Flatten(),
              Dense(128, activation="relu"),
              Dropout(0.5),
              Dense(10, activation="softmax"),
          ]
      )
      model.compile(
          optimizer="adadelta",
          loss="categorical_crossentropy",
          metrics=["accuracy"],
      )
      return model
  
file_path: hyperparameter_hunter/examples/keras_examples/mnist_example.py
imports: from hyperparameter_hunter import Environment, CVExperiment, FeatureEngineer
  from hyperparameter_hunter import BayesianOptPro, Real, Integer, Categorical
  import os
  import pandas
  from keras.datasets import mnist
  from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
  from keras.models import Sequential
  from keras.wrappers.scikit_learn import KerasClassifier
label_desc: Use image node_id 3 for calling a global function with example usage: build_fn_opt(input_shape) and returns: model