有人可以发布一个简单的 Keras 示例,使用回调在每个时期后保存模型吗?我可以找到保存权重的示例,但我希望能够在每个训练时期后保存一个功能齐全的模型。
Keras回调示例,用于在每个时期后保存模型?
数据挖掘
Python
喀拉斯
2021-10-06 22:38:47
3个回答
确保在文件路径中包含 epoch 变量。否则,您保存的模型将在每个 epoch 后被替换。
filepath = "saved-model-{epoch:02d}-{val_acc:.2f}.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=False, mode='max')
有关更多示例,请查看此处。
我写了自己的ModelCheckpoint
类,因为我必须调用一个特殊的save_pretrained
方法:
class ModelCheckpoint(Callback):
def __init__(self, freq, directory):
super().__init__()
self.freq = freq
self.directory = directory
def on_epoch_begin(self, epoch, logs=None):
if self.freq > 0 and epoch % self.freq == 0:
self.model.save_pretrained(Path(directory, str(epoch)))
def on_train_end(self, logs=None):
self.model.save_pretrained(directory)
它总是在每个freq
时期和训练结束时保存模型。
其它你可能感兴趣的问题