可以多次运行同一模型吗?

时间:2019-07-01 10:57:06

标签: python-3.x keras jupyter-notebook

我的问题是我为100个时代运行了一个keras模型(给定时代= 100),并停止了一段时间以冷却CPU和GPU。 我又跑了100个纪元,而损失从前100个纪元停止的地方开始减少。 它在所有条件下都能工作吗? 就像我要训练模型的时间为1000个周期一样,是否可以每隔100个周期后停下来,等我的CPU和GPU冷却并运行下一个100个周期。 我可以这样做吗?

1 个答案:

答案 0 :(得分:3)

它不能在所有条件下工作。例如,如果您对数据进行混洗并执行如下所示的验证拆分:

APPEND_VALUES

您将使用整个数据集进行训练,这不是您期望的。

此外,通过多次拟合,您将擦除历史信息(每个时期的准确性,损失等),由:

fit(x,y,epochs=1, verbose=1, validation_split=0.2, shuffle=True)

因此,某些使用此历史记录的回调函数将无法正常工作,例如EarlyStopping(源代码here)。

否则,它可以正常工作,因为它不会像keras优化器(Adadelta optimizer)的源代码中所看到的那样混乱。

但是,我不建议您这样做。,因为这可能会导致将来开发中的错误。一种更清洁的方法是创建一个具有这样延迟的自定义回调函数:

model.history