Keras 中预测的流输出

Posted

技术标签:

【中文标题】Keras 中预测的流输出【英文标题】:Stream Output of Predictions in Keras 【发布时间】:2016-10-31 01:54:09 【问题描述】:

我在 Keras 中有一个 LSTM,我正在训练它来预测时间序列数据。我希望网络在每个时间步上输出预测,因为它将每 15 秒接收一个新输入。所以我正在努力的是训练它的正确方法,以便它将 h_0、h_1、...、h_t 输出为恒定流,因为它接收 x_0、x_1、...、x_t 作为输入流.是否有这样做的最佳做法?

【问题讨论】:

【参考方案1】:

您可以通过设置stateful=True 在 LSTM 层中启用有状态。这会将层的行为更改为始终使用层的先前调用的状态,而不是为每个layer.call(x) 重置它。

例如一个具有 32 个单元的 LSTM 层,批量大小为 1,序列长度为 64,特征长度为 10:

LSTM(32, stateful=True, batch_input_shape=(1,64,10))

predict 的连续调用将使用之前的状态。

【讨论】:

那么 .reset_states() 将是启动新输入序列的函数吗?太好了,谢谢! 是的。忘了说,抱歉。 @nemo 我有一个后续问题here。你介意看看吗?

以上是关于Keras 中预测的流输出的主要内容,如果未能解决你的问题,请参考以下文章

Keras 中的 LSTM 序列预测只输出输入的最后一步

Keras 预测二进制问题的浮点输出

Keras model.predict() 为测试输入中的所有值返回相同的预测输出

解释 keras 模型预测的输出

LSTM Keras 网络的常量输出和预测语法

Keras LSTM实现多维输入输出时序预测实践详解