【问题标题】:How to show hidden layer outputs in Tensorflow如何在 Tensorflow 中显示隐藏层输出
【发布时间】:2017-12-13 07:26:50
【问题描述】:

在将模型与其存储的 protobuf 版本(通过this conversion script)进行比较时,我发现输出存在差异。为了调试,我分别比较了两个层。对于测试序列期间的权重和实际层输出,我收到相同的输出,因此我不确定如何访问隐藏层。

这是我加载图层的方式

    input  = graph.get_tensor_by_name("lstm_1_input_1:0")
    layer1 = graph.get_tensor_by_name("lstm_1_1/kernel:0")
    layer2 = graph.get_tensor_by_name("lstm_1_1/recurrent_kernel:0")
    layer3 = graph.get_tensor_by_name("time_distributed_1_1/kernel:0")
    output = graph.get_tensor_by_name("activation_1_1/div:0")

这是我想展示各个元素的方式。

显示权重

with tf.Session(graph=graph) as sess:
       print sess.run(layer1)
       print sess.run(layer2)
       print sess.run(layer3)

显示输出

with tf.Session(graph=graph) as sess:
    y_out, l1_out, l2_out, l3_out = sess.run([output, layer1, layer2, layer3], feed_dict={input: X_test})

这个代码sess.run(layer1) == sess.run(layer1,feed_dict={input:X_test}) 不应该是真的。

谁能帮帮我?

【问题讨论】:

  • 但是sess.run(layer1) 是权重,而不是输出。为什么要改成input
  • 我对 TF 比较陌生,我认为输入输入层会产生给定级别的输出(例如 output_node 或 layer1),其中仅打印层会显示权重(如上所示)

标签: python tensorflow neural-network output protocol-buffers


【解决方案1】:

当您运行 sess.run(layer1) 时,您是在告诉 tensorflow 计算 layer1 张量的值,即...

layer1 = graph.get_tensor_by_name("lstm_1_1/kernel:0")

...根据您的定义。请注意,LSTM 内核是权重变量。它依赖于input,这就是您使用sess.run(layer1, feed_dict={input:X_test}) 得到相同结果的原因。如果提供了输入,则 tensorflow 不会计算输出——它正在计算 指定的张量,在本例中为 layer1

那么input 什么时候重要?当对它有依赖时。例如:

  • sess.run(output)。如果没有 input 或任何允许计算 input 的张量,它根本无法工作。
  • 优化操作,如tf.train.AdapOptimizer(...).minimize(loss)。运行此操作会更改 layer1,但它还需要 input 才能这样做。

【讨论】:

  • 感谢您的信息,但我如何访问每个(隐藏)层输出?
  • 我认为最简单的方法是在 original 模型中为 LSTM 输出创建一个命名张量并以相同的方式找到它。看,LSTM 输出是pretty non-trivial formula,你不想复制它。你能展示你原来的模型吗?
  • 很遗憾没有,我只收到.pb 文件。加载非常好,但预测与预期不符。我已经在寻找某种概述功能,除了权重之外,它还可以让您显示网络的布局(即每个节点的出/入连接)
【解决方案2】:

也许您可以尝试使用 TensorBoard 并检查您的图表以找到隐藏层的输出。

【讨论】:

    猜你喜欢
    • 2017-12-28
    • 2018-05-22
    • 1970-01-01
    • 2011-06-01
    • 2016-05-10
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多