首页 > 解决方案 > 在 add_summary 中为 summary.value 中的值:AttributeError:“张量”对象没有属性“值”

问题描述

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

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)

但是,我在 summary.value 中的值的 add_summary 中收到错误:

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

有什么解决办法吗?

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

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

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

标签: pythontensorflowtensorboard

解决方案


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

with tf.Session() as sess:

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

但请注意,当您尝试在标量摘要中跟踪 10 个值时,这会引发另一个错误。但是我认为你会在训练期间跟踪一些有意义的变量(比如损失),这并不重要。


推荐阅读