【发布时间】: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