'loss': np.mean(training_loss), 'val_loss': np.mean(testing_loss), 'val_acc': np.mean(testing_acc) } modelcheckpoint.on_epoch_end(epoch, logs) earlystop.on_epoch_end(epoch, logs) reduce_lr.on_epoch_end(epoch, logs) tensorboard.on_epoch_end(epoch, logs) print( "accuracy: {}, loss: {}, validation accuracy: {}, validation loss: {}". format(np.mean(training_acc), np.mean(training_loss), np.mean(testing_acc), np.mean(testing_loss))) if model.stop_training: break earlystop.on_train_end() modelcheckpoint.on_train_end() reduce_lr.on_train_end() tensorboard.on_train_end() # confusion metric for training y_train_pred = model.predict(x_train).argmax(axis=1) conf_mat = confusion_matrix(y_train, y_train_pred) class_label = [ "airplane", "automobile", "bird", "cat", "deer", "dog", "frog", "horse", "ship", "truck" ] df = pd.DataFrame(conf_mat, index=class_label, columns=class_label) sns.heatmap(df, annot=True, cmap="YlGnBu", fmt="d") plt.title("Confusion Matrix for Training data") plt.xlabel("Predicted Label")