【发布时间】:2019-11-10 13:12:22
【问题描述】:
根据wikipedia-lstm-math-equation的数学公式,如下图,
应该只有隐藏状态h_t 和单元状态c_t。但是,当我尝试在 Keras 上编写 RNN 代码时,出现了三个:lstm_output、state_h 和state_c。
我现在想知道lstm_output 的数学公式是什么?
这是我的代码:
from keras.layers import Input, LSTM
lstm_input = Input(shape=(28, 10))
lstm_output, state_h, state_c = LSTM(units=32,
return_sequences=True,
return_state=True,
unroll=True)(lstm_input)
print(lstm_output, state_h, state_c)
它给了
Using TensorFlow backend.
(<tf.Tensor 'lstm_1/transpose_1:0' shape=(?, 28, 32) dtype=float32>, <tf.Tensor 'lstm_1/mul_167:0' shape=(?, 32) dtype=float32>, <tf.Tensor 'lstm_1/add_221:0' shape=(?, 32) dtype=float32>)
【问题讨论】:
标签: keras lstm keras-layer