【问题标题】:How does the input to a LSTM should look like?LSTM 的输入应该是什么样子?
【发布时间】:2019-06-17 17:33:14
【问题描述】:

想象一下,您正在 tensorflow 中为序列分类任务训练 LSTM 模型。在每个时间步,您有一个二进制向量 v_i(例如,v_i=[0, 1, 0, 1]),并且对于每个序列,您有可变数量的时间步(尽管二进制向量 v_i 的长度是相等的)。

在 tensorflow 中训练 LSTM 模型时如下:

lstm_cell=tf.nn.rnn_cell.LSTMCell(number_of_hidden) 
tf.contrib.rnn.static_rnn (lstm_cell, training_data)

单个训练序列(具有三个时间步长,v_1=[0, 1, 0, 1]v_2=[1, 1, 1, 0]v_3=[0, 0, 1, 1])应该看起来像

[[0, 1, 0, 1], [1, 1, 1, 0], [0, 0, 1, 1]] 

[[0], [1], [0], [1], [1], [1], [1], [0], [0], [0], [1], [1]] 

还是别的什么?

我对 LSTMCell 在每个时间步如何处理输入有点困惑。

【问题讨论】:

  • static_rnn 的输入形状为[timesteps,batch_size, features]。这是形状为[batch_size, features] 的二维张量的列表。你可以参考stackoverflow.com/a/53947413/7389608。所以应该是[[[0, 1, 0, 1]], [[1, 1, 1, 0]], [[0, 0, 1, 1]]]
  • 谢谢,@giser_yugang!

标签: tensorflow lstm recurrent-neural-network


【解决方案1】:

在此处(回答部分)提供解决方案,即使它出现在评论部分中,也是为了社区的利益。

static_rnn 的输入形状是[timesteps,batch_size, features]。这是形状为[batch_size, features] 的二维张量的列表。你可以参考this。所以应该[[[0, 1, 0, 1]], [[1, 1, 1, 0]], [[0, 0, 1, 1]]]

【讨论】:

    猜你喜欢
    • 2018-04-21
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 2018-09-27
    • 2014-12-12
    • 2015-12-09
    • 2017-12-14
    相关资源
    最近更新 更多