在add_summary中获取summary.value中的值:AttributeError:'Tensor'对象没有属性'value'

时间:2018-08-10 09:26:15

标签: python tensorflow tensorboard

这是一个非常基本的张量板标量日志:

import numpy as np
import tensorflow as tf
a = np.arange(10)
x = tf.convert_to_tensor(a, dtype=tf.float32)
x_summ = tf.summary.scalar("X", x)
writer = tf.summary.FileWriter('/tmp/logdir')
writer.add_summary(x_summ)

但是,我在add_summary中获取了summary.value中的值的错误:

AttributeError: 'Tensor' object has no attribute 'value'. 

有什么解决办法吗?

TensorFlow文档说,当汇总张量的形状或类型错误时,会引发ValueError。当我打印x_summ时,它显示:

Tensor("X:0", shape=(), dtype=string)

我不明白为什么NULL是这里的形状。

1 个答案:

答案 0 :(得分:0)

出现值错误,因为您必须评估会话中的摘要节点。

with tf.Session() as sess:

    s = sess.run(x_summ)
    writer.add_summary(s)

但是请注意,当您尝试在标量摘要中跟踪10个值时,这将引发另一个错误。但是,我想您会在训练过程中追踪一些有意义的变量(例如损失),所以没关系。