def classifier()

in edge_inference/greengrass-ml-inference/src/classifier_train.py [0:0]


def classifier():
    inputs = Input(shape=(28,28,1))
    x = Conv2D(64, (3,3),padding='same')(inputs)
    x = BatchNormalization()(x)
    x = LeakyReLU(0.2)(x)
    x = MaxPool2D(pool_size=(2, 2))(x) # 14x14
    x = Conv2D(64, (3,3),padding='same')(x)
    x = BatchNormalization()(x)
    x = LeakyReLU(0.2)(x)
    x = MaxPool2D(pool_size=(2, 2))(x) # 7x7
    x = Conv2D(128, (3,3),padding='same')(x)
    x = BatchNormalization()(x)
    x = LeakyReLU(0.2)(x)
    x = MaxPool2D(pool_size=(2, 2))(x)
    x = Conv2D(128, (3,3),padding='same')(x)
    x = BatchNormalization()(x)
    x = LeakyReLU(0.2)(x)
    x = MaxPool2D(pool_size=(2, 2))(x)
    x = Flatten()(x)
    x = Dense(128)(x)
    x = LeakyReLU(0.2)(x)
    x = BatchNormalization()(x)
    x = Dropout(0.5)(x)
    x = Dense(10, activation='softmax')(x)
    model = Model(inputs=inputs, outputs=x)
    model.summary()
    return model