Skip to content

Instantly share code, notes, and snippets.

@FlorianMerkle
Created September 10, 2020 10:00
Show Gist options
  • Save FlorianMerkle/97895acf0159c45e2950b44c95d31b63 to your computer and use it in GitHub Desktop.
Save FlorianMerkle/97895acf0159c45e2950b44c95d31b63 to your computer and use it in GitHub Desktop.
minimum example callbacks
import tensorflow as tf
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train = (x_train.reshape(60000, 784).astype('float32') / 255)
x_test = (x_test.reshape(10000, 784).astype('float32') / 255)
def initialize_model():
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(300))
model.add(tf.keras.layers.Dense(10, activation='softmax'))
model.compile(optimizer=tf.keras.optimizers.Adam(),
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True) ,
metrics=['accuracy'],
experimental_run_tf_function=False
)
return model
def train_model(model):
reduce_lr = tf.keras.callbacks.ReduceLROnPlateau(
patience=3,
monitor='val_loss'
)
early_stopping = tf.keras.callbacks.EarlyStopping(
patience=4,
monitor='val_loss'
)
callbacks=[early_stopping, reduce_lr]
model.fit(x=x_train,
y=y_train,
batch_size=64,
epochs=500,
callbacks=[callbacks],
validation_data=(x_test, y_test),
)
model = initialize_model()
train_model(model)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment