[英]How to save both best and latest model in keras?
我想使用Keras Model
檢查點回調來保存最佳模型以及最新模型。 有沒有一種方法可以解決此問題,而無需創建新的ModelCheckpoint
類和修改on_epoch_end
函數?
我當前使用的檢查點是:
checkpter = keras.callbacks
.ModelCheckpoint(checkpoint_dir + 'checkpt_{epoch:02d} + _.hdf5', monitor='val_loss',
verbose=1, save_best_only=True, save_weights_only=True, mode='auto',
period=1)
如果用最新模型表示最后時期之后的模型,則只需保留Checkpoint函數不變並保存最終結果即可。
擬合模型后,添加以下代碼行:
model.save('my_model.h5')
檢查點功能將保存最佳模型,並且在您完成訓練后,無論結果如何,該模型將保存一個最終時間。
您可以創建一個新的callback
函數,以在每個時期保存模型。
class saveLatesModel(keras.callbacks.Callback):
def __init__(self, modelSaveLocation='', modelName=''):
super(keras.callbacks.Callback, self).__init__()
self.modelSaveLocation = '..'
self.modelName = '..'
def on_epoch_end(self, epoch, logs={}):
self.model.save(self.modelSaveLocation+self.modelName+'.hdf5', overwrite=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.