我有一个fit()函数,该函数使用ModelCheckpoint()回调保存模型(如果比以前的模型更好),并使用save_weights_only = False,因此可以保存整个模型。这应该允许我以后通过使用load_model()恢复训练。
不幸的是,在save()/ load_model()往返中的某处,度量标准值未保留-例如,val_loss设置为inf。这意味着当训练恢复时,在第一个时期之后,ModelCheckpoint()将始终保存模型,这几乎总是比前一届比赛的前任冠军差。
我确定可以在继续训练之前设置ModelCheckpoint()的当前最佳值,如下所示:
myCheckpoint = ModelCheckpoint(...)
myCheckpoint.best = bestValueSoFar
Run Code Online (Sandbox Code Playgroud)
显然,我可以监视所需的值,将它们写到文件中,然后在恢复时再次读入,但是鉴于我是Keras新手,我想知道自己是否错过了一些明显的事情。
keras ×1