处理Tensorflow中tf.nn.dynamic_rnn的输出

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

我将3层LSTM传递给tf.nn.dynamic_rnn函数。我想以特定的方式处理dynamic_rnn函数的输出:也就是说,我想让dynamic_rnn输出流到一个完全连接的层。 dynamic_rnn的输出是等级-3张量,形状为[batch_size, sequence_length, hidden_dim]

我曾经把output[:, -1](其形状为[batch_size, hidden_dim])传递给FC层,因为我以前只想使用dynamic_rnn的最后一个输出。

然而,这次我想使用整个序列的输出,即output[:],这是一个3-d张量,但是到FC层的连接的权重用2-d张量W表示。

tensorflow lstm rnn
1个回答
2
投票

查看tf.layers.dense的代码,了解如何在层中处理任何等级张量(具有最深度维度)的示例。即:tf.matmul知道如何通过适当的广播将矩阵乘法应用于3-tensor

tf.matmul(A,W)其中A形状[b,t,d]W形状[d,e]沿内部尺寸采取内部产品:输出的形状是[b,t,e]。添加偏向量,形状[e],将类似地正确广播。

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