Python 2.7 Tensorboad-add_摘要使我的代码崩溃

Python 2.7 Tensorboad-add_摘要使我的代码崩溃,python-2.7,tensorflow,tensorboard,Python 2.7,Tensorflow,Tensorboard,我对tensorflow非常陌生,我尝试展示我的第一块tensorboard 我下载并执行了这里给出的示例的ok板 按照此方法,我的代码中有: weights_hidden = tf.Variable(tf.truncated_normal([image_size * image_size, 1024]), name='weights_hidden') _ = tf.histogram_summary('weights_hidden', weights_hidden) 当我运行会话时 wit

我对tensorflow非常陌生,我尝试展示我的第一块tensorboard

我下载并执行了这里给出的示例的ok板

按照此方法,我的代码中有:

weights_hidden = tf.Variable(tf.truncated_normal([image_size * image_size, 1024]), name='weights_hidden')
_ = tf.histogram_summary('weights_hidden', weights_hidden)
当我运行会话时

with tf.Session(graph=graph) as session:
  merged = tf.merge_all_summaries()
  writer = tf.train.SummaryWriter("/tmp/test", session.graph_def)
  tf.initialize_all_variables().run()
  for step in range(num_steps):
    summary_str, l, predictions = session.run(
      [optimizer, loss, train_prediction], feed_dict=feed_dict)

    if (step % 500 == 0):
      writer.add_summary(summary_str, step)
进程崩溃,出现以下错误

Traceback (most recent call last):
  File "/home/xxx/Desktop/xxx/xxx.py", line 108, in <module>
    writer.add_summary(summary_str, step)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/summary_io.py", line 128, in add_summary
    event = event_pb2.Event(wall_time=time.time(), summary=summary)
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal/python_message.py", line 522, in init
    _ReraiseTypeErrorWithFieldName(message_descriptor.name, field_name)
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal/python_message.py", line 453, in _ReraiseTypeErrorWithFieldName
    six.reraise(type(exc), exc, sys.exc_info()[2])
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal/python_message.py", line 520, in init
    copy.MergeFrom(new_val)
  File "/usr/local/lib/python2.7/dist-packages/google/protobuf/internal/python_message.py", line 1237, in MergeFrom
    "expected %s got %s." % (cls.__name__, type(msg).__name__))
TypeError: Parameter to MergeFrom() must be instance of same class: expected Summary got NoneType. for field Event.summary
回溯(最近一次呼叫最后一次):
文件“/home/xxx/Desktop/xxx/xxx.py”,第108行,在
writer.add_summary(summary_str,step)
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/training/summary\u io.py”,第128行,在add\u summary中
event=event\u pb2.event(wall\u time=time.time(),summary=summary)
文件“/usr/local/lib/python2.7/dist packages/google/protobuf/internal/python_message.py”,第522行,在init中
_ReraiseTypeErrorWithFieldName(消息描述符名称,字段名称)
文件“/usr/local/lib/python2.7/dist packages/google/protobuf/internal/python_message.py”,第453行,位于_ReraiseTypeErrorWithFieldName中
六、重放(类型(exc)、exc、系统exc_info()[2])
文件“/usr/local/lib/python2.7/dist packages/google/protobuf/internal/python_message.py”,第520行,在init中
复制。合并自(新值)
文件“/usr/local/lib/python2.7/dist packages/google/protobuf/internal/python_message.py”,第1237行,位于MergeFrom中
“预期的%s得到了%s.”%(cls.\u名称,类型(msg)。\u名称)
TypeError:MergeFrom()的参数必须是同一类的实例:应为Summary Get NoneType。对于字段Event.summary
我错过了什么? 欢迎提供任何帮助/意见

非常感谢你的帮助

K.

你应该写:

_, summary_str, l, predictions = session.run(
  [optimizer, merged, loss, train_prediction], feed_dict=feed_dict)

我添加了第四个参数
merged
,它对应于您试图获得的摘要(您只获得了优化步骤的结果)。

yesss!!现在它再次正确运行:)(虽然速度慢了很多,但还是有意义的)谢谢你,奥利弗,如果你知道为什么它在我感兴趣的网站上不可见;)它说“没有找到直方图标记。”即使在重新启动tensorboard并再次运行代码后,您的tensorboard命令是否正确?它应该是
tensor board--logdir/tmp/test
你也可以通过打印你的loss
l
Nop来检查一切是否正常,我在tensor和board之间没有空格(我相信这是正确的)。我运行了
tensorboard--logdir=/temp/test
(该文件是在我运行代码时在文件夹中创建的)我的错误,它是
tensorboard
(它是我的自动更正)。检查命令行和代码中是否有相同的名称“/tmp/test”。您是否成功地打印了每一步的损失?