Keras:将序列值存储在RNN中,而不使用下一层中的输入

时间:2018-05-09 17:40:25

标签: python neural-network keras recurrent-neural-network

我想通过查看逐序列值来解释RNN。可以使用return_sequences输出这些值。然而,这些值然后用作下一层的输入(例如,密集激活层)。我想只输出最后一个值,但记录整个序列中的所有值以进行解释。最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

使用相同的图层创建两个模型,但在其中一个模型中,只能使用RNN的最后一步来提供Dense图层:

inputs = Input(inputShape)
outs = RNN(..., return_sequences=True)(inputs)

modelSequence = Model(inputs,outs)

#take only the last step
outs = Lambda(lambda x: x[:,-1])(outs)
outs = Dense(...)(outs)

modelSingle = Model(inputs,outs)

使用modelSingle,fit(x_data,y_data)进行正常训练 使用modelSequence.predict(x_data)无需培训即可查看RNN的结果。