text_plain_output_1.png
from keras.layers import Conv2D, MaxPooling2D, Dropout, Flatten, Dense, BatchNormalization

from keras.models import Sequential

dropout_rate = 0.25
fc_units_1 = 512
fc_units_2 = 256
output_units = 2
epochs = 50
model = Sequential()
model.add(Conv2D(filters=32, kernel_size=3, strides=1, padding='same', input_shape=(image_height, image_width, image_channels), data_format='channels_last'))
model.add(BatchNormalization())
model.add(MaxPooling2D())
model.add(Dropout(rate=dropout_rate))
model.add(Conv2D(filters=64, kernel_size=3, strides=1, padding='same'))
model.add(BatchNormalization())
model.add(MaxPooling2D())
model.add(Dropout(rate=dropout_rate))
model.add(Conv2D(filters=128, kernel_size=3, strides=1, padding='same'))
model.add(BatchNormalization())
model.add(MaxPooling2D())
model.add(Dropout(rate=dropout_rate))
model.add(Flatten())
model.add(Dense(units=fc_units_1, activation='relu'))
model.add(BatchNormalization())
model.add(Dropout(rate=dropout_rate))
model.add(Dense(units=fc_units_2, activation='relu'))
model.add(BatchNormalization())
model.add(Dropout(rate=dropout_rate))
model.add(Dense(units=output_units, activation='softmax'))

model.summary()