与MNIST的LSTM示例

时间:2017-02-04 12:32:52

标签: python tensorflow

我目前正在尝试理解outputsstates函数的tf.nn.rnntensorflow的含义:

outputs, states = tf.nn.rnn(lstm_cell, x, dtype=tf.float32)

通过LSTM MNIST tutorial

事实上,关于以下教程Understanding LSTM,我想知道与这些变量相对应的内容。

在我看来,outputs对应隐藏状态(在上一个链接中表示为h_t),但我不确定。

因此,我了解outputstime_steps形状(batch_size, n_hidden)张量的列表。但为什么states2形状(batch_size, n_hidden)张量的列表。它只是最后一步的细胞状态吗?

1 个答案:

答案 0 :(得分:1)

这似乎是个老问题。对不起,如果你已经弄清楚了。

outputs是来自" top"的值。图中的LSTM单位。这是LSTM图层的总输出。

正如您在问题中所建议的那样,隐藏状态实际上是从一个时间段移动到下一个时间段的时间隐藏状态。它们是C_th_t值,它们沿着时间轴移动,作为输出/输入到展开的LSTM图层。这就是为什么你得到2个尺寸为(batch_size,n_hidden)

的张量的原因