2016-04-26 37 views
2

我使用Keras来预测时间序列。作为标准,我使用20个时代。 我想知道我的神经网络为20个时代中的每一个预测了什么。Python/Keras - 如何访问每个时代的预测?

通过使用model.predict我得到所有时代中只有一个预测(不知道如何凯拉斯选择它)。我想要所有的预测,或者至少是最好的10个。

有人会知道如何帮助我吗?

回答

5

我觉得这里有点混乱。

一个纪元只在训练神经网络时使用,所以当训练停止时(在这种情况下,在第20个纪元后),那么权重对应于在最后一个纪元上计算的权值。

Keras在每个纪元后的训练期间在验证集上打印当前损失值。如果每个纪元后的重量都没有保存,那么它们就会丢失。您可以使用ModelCheckpoint回调为每个时期保存权重,然后在模型上使用load_weights加载它们。

您可以通过继承Callback并呼吁预测在on_epoch_end函数内部模型实现适当的回调每次训练后的时代计算你的预测。

然后使用它,你实例化你的回调,制作一个列表并使用它作为关键字参数回调到model.fit

+0

你好Matias!如果你可以看看这一个它将不胜感激:http://stackoverflow.com/questions/36895627/python-keras-creating-a-callback-with-one-prediction-for-each-epoch – abutremutante