首页 > 解决方案 > tensorflow/keras 中两个双向 GRU 层的输出

问题描述

我正在使用 tensorflow 创建编码器解码器架构。编码器和解码器应该有 2 个双向 GRU 层。下面创建编码器层的单元。

rnn_cells = [tf.keras.layers.GRUCell(self.enc_units, dropout=0.3) for _ in range(2)]
stacked_gru = tf.keras.layers.StackedRNNCells(rnn_cells)
gru = tf.keras.layers.RNN(stacked_gru, return_sequences=True,
                                        return_state=True)

我这样称呼图层。

result = self.gru(x, training=training)

5 个对象是result什么?第一个对象是作为层输出的返回序列。其他 4 个代表层的前向和后向传递的隐藏状态:但是以什么顺序?

forward_layer1, backwards_layer1, forward_layer2, backwards_layer2
forward_layer1, forward_layer2, backwards_layer1, backwards_layer1

我想连接层的前向和后向路径以将它们馈送到解码器(因为解码器不能是双向的)。

预先感谢您的帮助

标签: pythontensorflowkerastensorflow2.0

解决方案


推荐阅读