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