0

I'm training a keras sequential model with these layers included. The problem I face here is that the val_loss is constant and does not decrease.. The model is meant to classify the Diabetic retinopathy detection The code snippet is as belows

input_layer = Input(shape = (224,224,3))
base_model = ResNet50(include_top = False, input_tensor = input_layer, weights = "imagenet")
x = GlobalAveragePooling2D()(base_model.output)
x = Dropout(0.5)(x)
x = Dense(256, activation = "relu")(x)
x = Dropout(0.3)(x)
x = Dense(128, activation = "relu")(x)
#x = Dropout(0.5)(x)
out = Dense(5, activation = 'softmax')(x)

model = Model(inputs = input_layer, outputs = out)

And,

optimizer = keras.optimizers.Adam(learning_rate = 3e-4)

es = EarlyStopping(monitor='val_loss', mode='min', patience = 8, restore_best_weights=True) rlrop = ReduceLROnPlateau(monitor='val_loss', mode='min', patience = 3, factor = 0.5, min_lr=1e-6)

callback_list = [es, rlrop]

model.compile(optimizer = optimizer, loss = "categorical_crossentropy", metrics = ["accuracy"])

The main problem is the over fitting of the model... please help.. I'm not so good at it. Please let me know if there's anything more I need to add for reference.

0 Answers0