是否再次调用model.fit方法重新初始化已经训练过的权重?

时间:2018-02-03 16:24:24

标签: python tensorflow neural-network keras

我正在使用Keras训练网络。让我们说在20个时代之后我想停止训练以检查一切是否正常,然后继续形成第21个时代。是否第二次调用model.fit方法会重新初始化已经训练过的权重?

1 个答案:

答案 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)

     

对一批数据运行单个渐变更新。

通过这种方式,我认为您可以在模型更新之间进行更多控制,您可以在此处检查培训是否一切正常,然后继续进行下一个渐变更新。