LSTM的输入应如何显示?

问题描述 投票:0回答:1

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

当在张量流中训练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在每个时间步如何处理输入感到困惑。

tensorflow lstm recurrent-neural-network
1个回答
0
投票

即使在注释部分中也提供了解决方案(答案部分),但这样做是为了社区的利益。

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

© www.soinside.com 2019 - 2024. All rights reserved.