如何在张量板中可视化张量总结

时间:2017-01-16 08:01:35

标签: tensorflow tensorboard

我试图在张量板中可视化张量总结。但是我无法在董事会中看到张量总结。这是我的代码:

        out = tf.strided_slice(logits, begin=[self.args.uttWindowSize-1, 0], end=[-self.args.uttWindowSize+1, self.args.numClasses],
                               strides=[1, 1], name='softmax_truncated')
        tf.summary.tensor_summary('softmax_input', out)

其中out是多维张量。我想我的代码一定有问题。可能我错误地使用了tensor_summary函数。

3 个答案:

答案 0 :(得分:4)

您所做的是创建摘要操作,但不要调用它并且不要编写摘要(请参阅documentation)。 要实际创建摘要,您需要执行以下操作:

# Create a summary operation
summary_op = tf.summary.tensor_summary('softmax_input', out)

# Create the summary
summary_str = sess.run(summary_op)

# Create a summary writer
writer = tf.train.SummaryWriter(...)

# Write the summary
writer.add_summary(summary_str)

只有在没有像Supervisor这样的更高级帮助者的情况下,才有必要明确地撰写摘要(最后两行)。否则你调用

sv.summary_computed(sess, summary_str)

并且主管将处理它。

更多信息,另见: How to manually create a tf.Summary()

答案 1 :(得分:1)

希望能够实现您想要的解决方案。 ..

如果要查看张量值,可以使用as_string转换它们,然后使用summary.text。这些值将显示在tensorboard文本选项卡中。

未尝试使用3D张量,但可以根据需要随意切片。

代码段,其中包括使用插入print语句来获取控制台输出。

predictions = tf.argmax(reshaped_logits, 1)
txtPredictions = tf.Print(tf.as_string(predictions),[tf.as_string(predictions)], message='predictions', name='txtPredictions')
txtPredictions_op = tf.summary.text('predictions', txtPredictions)

enter image description here

答案 2 :(得分:0)

不确定这是否有点明显,但您可以使用类似

的内容
def make_tensor_summary(tensor, name='defaultTensorName'):
    for i in range(tensor.get_shape()[0]:
        for j in range(tensor.get_shape()[1]:
            tf.summary.scalar(Name + str(i) + '_' + str(j), tensor[i, j])

如果您事先知道它是'矩阵形'Tensor。