model.stop_training = False model.compile(loss="sparse_categorical_crossentropy", optimizer=tf.keras.optimizers.Adam(), metrics=["accuracy"]) earlystop = EarlyStopping(monitor="val_loss", patience=20, verbose=1) earlystop.set_model(model) earlystop.on_train_begin() modelcheckpoint = ModelCheckpoint(filepath="weights/", monitor="val_loss", verbose=1, save_best_only=True) modelcheckpoint.set_model(model) modelcheckpoint.on_train_begin() reduce_lr = ReduceLROnPlateau(monitor="val_loss", patience=10, verbose=1) reduce_lr.set_model(model) reduce_lr.on_train_begin() tensorboard = TensorBoard(log_dir="logs/") tensorboard.set_model(model) tensorboard.on_train_begin() epochs = 3 train_logs_dict = {} test_logs_dict = {} for epoch in range(epochs): training_acc, testing_acc, training_loss, testing_loss = [], [], [], []