我正在使用 Keras 来预测时间序列。作为标准,我使用 20 个纪元。 我想通过对 20 个时期中的每一个时期进行预测来检查我的模型是否学习良好。
通过使用 model.predict()
我在所有时期中只得到一个预测(不确定 Keras 如何选择它)。我想要所有预测,或者至少是 10 个最好的预测。
有人知道如何帮助我吗?
最佳答案
我觉得这里有点困惑。
epoch 仅在训练神经网络时使用,因此当训练停止时(在本例中,在第 20 个 epoch 之后),权重对应于在最后一个 epoch 上计算的权重。
Keras 在每个时期后的训练期间在验证集上打印当前损失值。如果每个时期之后的权重没有保存,那么它们就会丢失。您可以使用 ModelCheckpoint 为每个时期保存权重回调,然后在您的模型上使用 load_weights 将它们加载回来。
您可以通过子类化 Callback 实现适当的回调来计算每个训练时期后的预测。并在 on_epoch_end 函数内对模型调用预测。
然后要使用它,您需要实例化您的回调,创建一个列表并将其用作 model.fit 的关键字参数回调。
关于Python/Keras - 如何访问每个时期的预测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36864774/