我的模型需要运行多个时代才能得到好的结果,而且在Google云上使用v100需要几个小时。在
因为我是一个抢占先机的人,所以在训练过程中我就被踢出局了。我希望能从它停止的地方恢复。在
在我的自定义回调中,我运行self.model.save(…)在新纪元末。如果在过去的50个时代里分数没有提高,它也会停止训练。在
以下是我尝试的步骤:
然而,要赶上第一轮,还需要一段时间。同时,每个历元的准确度得分接近第一次,但要低一些。最后,早停大约300分,最后的分数比第一次低。我能得到相同的最终分数的唯一方法是从头开始创建模型并从epoch 1开始运行fit。在
我还试着利用float(K.get_值(self.model.optimizer.lr)和K.set_值(self.model.optimizer.lr,新的\u lr)。 然而,self.model.optimizer.lr始终返回相同的数字。我假设这是因为adam优化器根据我用adam设置的初始lr计算实际lr(lr=1e-4)。在
我想知道使用Adam optimizer恢复培训的正确方法是什么?在
如前所述:https://keras.io/getting-started/faq/#how-can-i-save-a-keras-model,}将负责使用保存的训练配置编译模型。在
model.save()
后跟{纪元10/10 损失=0.785美元=0.885美元=0美元
纪元11/13 50000/50000[===============================]-15s 293us/样品-损耗:0.6438-acc:0.7777-val_损耗:0.8732-val峈acc:0.7083
请检查此问题以及与使用Adam优化器恢复培训相关的问题(特斯拉斯):{a2}
建议升级TF版本。在
那
model.load('saved.h5')
怎么样。{不过,如果优化程序^也应该保存它。在相关问题 更多 >
编程相关推荐