adam = tf.keras.optimizers.Adam(learning_rate = 0.0001, beta_1 = 0.9, beta_2 = 0.999, amsgrad = False)
my_model.compile(loss = "categorical_crossentropy", optimizer = adam , metrics = ['accuracy'])
earlystopping = EarlyStopping(monitor = 'val_loss', verbose = 1, patience = 20, restore_best_weights=True)
history = my_model.fit(train_gen, validation_data=val_gen, batch_size = 32, epochs = 20, callbacks=[earlystopping])
I applied Earlystopping, then fit function run for all 20 epochs and did not stop even when val_loss increased. What should be the right way to use earlystopping?