Tensorflow展开LSTM的时间比输入序列长

Tensorflow展开LSTM的时间比输入序列长,tensorflow,lstm,recurrent-neural-network,Tensorflow,Lstm,Recurrent Neural Network,我想在tensorflow中创建一个LSTM来预测时间序列数据。我的训练数据是一组不同长度的输入/输出序列。我可以在同一训练批中包含多个不同长度的序列吗?或者我需要把它们垫成相等的长度吗?如果是,怎么做 另外:如果展开的RNN比输入序列长,tensorflow会怎么做?rnn()方法包含一个可选的sequence\u length参数,该参数似乎是为处理这种情况而设计的,但我不清楚它的作用是什么。是否从头开始构建模型?否则,您可能需要查看translate.py-model。在这里,您的问题由以

我想在tensorflow中创建一个LSTM来预测时间序列数据。我的训练数据是一组不同长度的输入/输出序列。我可以在同一训练批中包含多个不同长度的序列吗?或者我需要把它们垫成相等的长度吗?如果是,怎么做


另外:如果展开的RNN比输入序列长,tensorflow会怎么做?
rnn()
方法包含一个可选的
sequence\u length
参数,该参数似乎是为处理这种情况而设计的,但我不清楚它的作用是什么。

是否从头开始构建模型?否则,您可能需要查看translate.py-model。在这里,您的问题由以下人员处理: -用PAD符号填充输入(和输出)序列(基本上是中性的“无信息”符号)
-bucket:对于不同的长度组,您可以创建不同的bucket(只有当序列长度从最短到最长非常不同时才有意义)

您想从头开始构建模型吗?否则您可能需要查看translate.py-model。您的问题可以通过以下方式解决: -用PAD符号填充输入(和输出)序列(基本上是中性的“无信息”符号)
-bucket:对于不同的长度组,您可以创建不同的bucket(只有当序列长度从最短到最长非常不同时才有意义)

您不必将相同长度的输入/输出序列批处理到一个批中。TF有一种指定输入大小的方法。参数“sequence\u length”,控制单元格展开的时间步数。因此,TF将只展开单元格到序列长度,而不展开到步长

因此,在为输入和输出馈电的同时,也为包含每个输入长度的序列长度数组馈电

 tf.nn.bidirectional_rnn(fwd_stacked_lstm_cells, bwd_stacked_lstm_cells, 
                          reshaped_inputs,                                                                                 
                          sequence_length=sequence_length)

在哪里

  • len(长度)=批次尺寸和
  • 对于所有i,长度[i]==输入x[i]的长度(与输出y[i]的长度相同)

您不必将相同长度的输入/输出序列批处理到一个批处理中。TF有一种指定输入大小的方法。参数“sequence\u length”控制单元格展开的时间步数。因此TF将仅将单元格展开到sequence\u length,而不会展开到步长

因此,在为输入和输出馈电的同时,也为包含每个输入长度的序列长度数组馈电

 tf.nn.bidirectional_rnn(fwd_stacked_lstm_cells, bwd_stacked_lstm_cells, 
                          reshaped_inputs,                                                                                 
                          sequence_length=sequence_length)

在哪里

  • len(长度)=批次尺寸和
  • 对于所有i,长度[i]==输入x[i]的长度(与输出y[i]的长度相同)