【问题标题】:Handling outputs from tf.nn.dynamic_rnn in Tensorflow在 Tensorflow 中处理来自 tf.nn.dynamic_rnn 的输出
【发布时间】:2017-09-11 07:52:16
【问题描述】:

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

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

不过,这次我想用整个序列的输出,也就是output[:],这是一个3-d张量,但是到FC层的连接权重用2-d张量@来表示987654330@.

【问题讨论】:

    标签: tensorflow lstm rnn


    【解决方案1】:

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

    tf.matmul(A,W) 其中A 的形状为[b,t,d]W 的形状为[d,e] 沿内部维度取内积:输出的形状为[b,t,e]。添加偏置向量,形状为[e],同样会正确广播。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 2021-04-25
      • 2021-09-09
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多