我正在使用Keras训练网络。让我们说在20个时代之后我想停止训练以检查一切是否正常,然后继续形成第21个时代。是否第二次调用model.fit
方法会重新初始化已经训练过的权重?
答案 0 :(得分:1)
第二次调用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)
对一批数据运行单个渐变更新。
通过这种方式,我认为您可以在模型更新之间进行更多控制,您可以在此处检查培训是否一切正常,然后继续进行下一个渐变更新。