【问题标题】:TensorFlow: Print Internal State of RNN at at Every Time StepTensorFlow:在每个时间步打印 RNN 的内部状态
【发布时间】:2018-05-21 11:22:00
【问题描述】:

我正在使用 tf.nn.dynamic_rnn 类来创建 LSTM。我已经在一些数据上训练了这个模型,现在我想在我提供一些输入时检查这个训练的 LSTM 在每个时间步的隐藏状态的值是什么。

在 SO 和 TensorFlow 的 GitHub 页面上进行了一些挖掘之后,我看到有人提到我应该编写自己的 LSTM 单元,该单元返回我想要打印的任何内容,作为 LSTM 的output 的一部分。但是,这对我来说似乎并不简单,因为 LSTM 的隐藏状态和输出的形状不同。

我的 LSTM 输出张量的形状为 [16, 1],隐藏状态是形状为 [16, 16] 的张量。将它们连接起来会产生一个形状为 [16, 17] 的张量。当我尝试返回它时,我收到一条错误消息,指出某些 TensorFlow op 需要形状为 [16,1] 的张量。

有没有人知道解决这种情况的更简单方法?我想知道是否可以使用 tf.Print 来打印所需的张量。

【问题讨论】:

    标签: python debugging tensorflow lstm


    【解决方案1】:

    好的,问题是我正在修改输出,但没有更新 LSTM 本身的output_size。因此错误。它现在工作得很好。但是,我仍然觉得这种方法非常烦人。不接受我自己的答案,希望有人有更清洁的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 2016-12-30
      • 2021-03-30
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      相关资源
      最近更新 更多