在Tensorflow中,如何生成标量摘要?

时间:2015-11-26 17:11:08

标签: tensorflow

是否有人使用带有scalar_summary的SummaryWriter的最小示例,以便在训练期间查看(比方说)交叉熵结果?

示例given in the documentation

merged_summary_op = tf.merge_all_summaries()
summary_writer = tf.train.SummaryWriter('/tmp/mnist_logs', sess.graph_def)
total_step = 0
while training:
    total_step += 1
    session.run(training_op)
    if total_step % 100 == 0:
        summary_str = session.run(merged_summary_op)
        summary_writer.add_summary(summary_str, total_step)

返回错误:TypeError:Fetch参数None of None具有无效类型,必须是字符串或Tensor。 (无法将NoneType转换为Tensor或Operation。) 当我运行它。

如果我添加:

tf.scalar_summary('cross entropy', cross_entropy)
在我的交叉熵计算之后的

操作,然后我得到错误:

InvalidArgumentError:您必须使用dtype float

为占位符张量'Placeholder_2'提供值

这表明我需要在

中添加feed_dict
summary_str = session.run(merged_summary_op)

打电话,但我不清楚feed_dict应该包含什么....

2 个答案:

答案 0 :(得分:3)

feed_dict应包含用于运行training_op的相同值。它基本上为您要为其计算摘要的网络指定输入值。

答案 1 :(得分:2)

错误可能来自:

session.run(training_op)

您是否将示例代码粘贴到mnist代码的版本中,该代码需要feed_dict来提供训练示例?检查它给你的回溯(并在上面包括它,如果这不能解决问题)。