【发布时间】:2018-07-13 22:41:14
【问题描述】:
我正在使用 Keras 来训练网络。假设在 20 个 epoch 之后我想停止训练以检查一切是否正常,然后从第 21 个 epoch 继续。第二次调用model.fit 方法是否会重新初始化已经训练好的权重?
【问题讨论】:
标签: python tensorflow neural-network keras
我正在使用 Keras 来训练网络。假设在 20 个 epoch 之后我想停止训练以检查一切是否正常,然后从第 21 个 epoch 继续。第二次调用model.fit 方法是否会重新初始化已经训练好的权重?
【问题讨论】:
标签: python tensorflow neural-network keras
第二次调用 model.fit 方法是否会重新初始化已经训练好的权重?
不,它将使用您的模型已有的权重并对其执行更新。这意味着您可以根据需要进行连续调用以适应并正确管理它。
这也是正确的,因为在 Keras 中,您还可以保存模型(使用 save and load_model 方法),将其加载回来,然后在其上调用 fit。有关该检查的更多信息this 问题。
您的另一个选择是改用train_on_batch method:
train_on_batch(self, x, y, sample_weight=None, class_weight=None)
对一批数据运行一次梯度更新。
这样我认为你可以在模型的更新之间有更多的控制,你可以检查训练是否一切正常,然后继续下一次梯度更新。
【讨论】: