我试图在张量板中可视化张量总结。但是我无法在董事会中看到张量总结。这是我的代码:
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
函数。
答案 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)
并且主管将处理它。
答案 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)
答案 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。