【问题标题】:Does calling the model.fit method again reinitialize the already trained weights?是否再次调用 model.fit 方法重新初始化已经训练的权重?
【发布时间】:2018-07-13 22:41:14
【问题描述】:

我正在使用 Keras 来训练网络。假设在 20 个 epoch 之后我想停止训练以检查一切是否正常,然后从第 21 个 epoch 继续。第二次调用model.fit 方法是否会重新初始化已经训练好的权重?

【问题讨论】:

    标签: python tensorflow neural-network keras


    【解决方案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)

    对一批数据运行一次梯度更新。

    这样我认为你可以在模型的更新之间有更多的控制,你可以检查训练是否一切正常,然后继续下一次梯度更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 2020-02-09
      • 1970-01-01
      • 2018-01-06
      • 2021-06-08
      相关资源
      最近更新 更多