【问题标题】:Does interrupting keras training in a Jupyter notebook save the training?在 Jupyter 笔记本中中断 keras 训练会保存训练吗?
【发布时间】:2019-04-18 03:41:22
【问题描述】:

因此,我正在使用 Jupyter Notebook 和 Keras 进行机器学习项目,并开始进行培训。几个小时后我回来了,才意识到我不小心将纪元设置为一个非常高的数字。

我想知道,如果我停止运行单元(发送 KeyboardInterrupt),整个训练会被取消吗?还是会保存我当前所处时代的权重?

我仍然可以从下一个单元格访问模型。

【问题讨论】:

  • 取决于您是否使用了保存权重和模型的回调,并且您没有包含该信息。一般来说,没有。

标签: keras jupyter-notebook


【解决方案1】:

经过训练的模型仍会在内存中,处于键盘中断发生时的状态。只要没有停止 Python 内核或没有重新实例化模型,您就可以继续使用经过训练的模型。要对此进行测试,请评估模型的预测准确性。

请注意,如果您继续训练模型,KeyboardInterrupt 会重新启动历元计数器。这将影响任何依赖 epoch 编号的回调。

【讨论】:

  • 如何在同一单元格的后续代码中访问模型?
【解决方案2】:

如果您尚未定义 ModelCheckpoint 回调或某些自定义模型保护程序回调,则答案是否定的。

下次您应该包含 ModelCheckpoint 回调,这样在每个 epoch 都会保存您的模型,并且您可以恢复它

【讨论】:

  • 实际上模型仍然存在,即使它被KeyboardInterrupt打断了。为了测试这一点,在下一个单元格中再次拟合这个模型,损失将从你在最后一次拟合过程中得到的开始。
  • @WWH98932 如何在同一单元格的后续代码中访问模型?
猜你喜欢
  • 2019-06-04
  • 1970-01-01
  • 2022-10-17
  • 1970-01-01
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
  • 2019-02-28
  • 1970-01-01
相关资源
最近更新 更多