How to save weights of keras model for each epoch?
Written by- Sharif
5180 times views
You can use the ModelCheckpoint callback in Keras to save the weights of your model after each epoch. Here's an example of how to use it:
You can also specify other options in the ModelCheckpoint object, such as the frequency at which to save the weights (e.g. every 5 epochs), or the maximum number of files to keep. For more information, you can check out the documentation for the ModelCheckpoint callback at https://keras.io/callbacks/#modelcheckpoint.
from keras.callbacks import ModelCheckpointThis will save the weights of your model to a HDF5 file after each epoch, with the file name including the epoch number and the validation accuracy. The save_best_only parameter specifies whether to only save the weights if they are an improvement over the previous best weights. The mode parameter specifies whether to look for the maximum ('max') or minimum ('min') value of the monitored metric (in this case, 'val_acc').
# specify the filepath where you want to save the weights
filepath = "weights-improvement-{epoch:02d}-{val_acc:.2f}.hdf5"
# create a ModelCheckpoint object
checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')
# pass the ModelCheckpoint object to the fit method as a callback
model.fit(X_train, y_train, epochs=10, validation_data=(X_val, y_val), callbacks=[checkpoint])
You can also specify other options in the ModelCheckpoint object, such as the frequency at which to save the weights (e.g. every 5 epochs), or the maximum number of files to keep. For more information, you can check out the documentation for the ModelCheckpoint callback at https://keras.io/callbacks/#modelcheckpoint.