首页 > 解决方案 > 张量流中堆叠LSTM双向中的输出顺序

问题描述

我想用双向 LSTM 编码器(2 层)构建 seq2seq 模型,但我不知道双向层的输出顺序如何。这是我创建双向层的方式:

self.lstm_layer = tf.keras.layer.Bidirectional(tf.keras.layers.RNN(tf.keras.layers.StackedRNNCells([tf.keras.layers.LSTMCell(self.enc_units,recurrent_initializer='glorot_uniform') for _ in range(3)]),
                                      return_sequences=True,
                                      return_state=True), merge_mode = 'concat')

这是调用方法:

sequences, (forward_h1, backward_h1), (forward_c1, backward_c1), (forward_h2, backward_h2), (forward_c2, backward_c2) = self.lstm_layer(x, initial_state = hidden)

因此,我不确定输出是否按该顺序排列,或者是否首先是前向输出,然后是后向输出。

标签: tensorflowrecurrent-neural-networkbidirectionalseq2seq

解决方案


推荐阅读