Friday 20 November 2020

A callback to check the saturation of val_acc

Usually, we can define a callback for a model to stop the epoch if the accuracy reaches a certain level.

I am working on the adjustment of parameters. The val_acc is highly unstable as shown in the pictureacc_graphs.

def LSTM_model(X_train, y_train, X_test, y_test, num_classes, batch_size=68, units=128, learning_rate=0.005, epochs=20,
               dropout=0.2, recurrent_dropout=0.2):
    class myCallback(tf.keras.callbacks.Callback):

        def on_epoch_end(self, epoch, logs={}):
            if (logs.get('acc') > 0.90):
                print("\nReached 90% accuracy so cancelling training!")
                self.model.stop_training = True

    callbacks = myCallback()

As the graphs show that the val_acc(orange) is fluctuating within a range and not really going up anymore.

Is there a way to automatically stop the training once the general trend of the val_acc stops increasing?



from A callback to check the saturation of val_acc

No comments:

Post a Comment