【问题标题】:How to show all my images in tensorboard?如何在张量板上显示我的所有图像?
【发布时间】:2017-08-09 07:45:57
【问题描述】:

我只看到当前位于符号张量(logits、label)中的图像:

with tf.name_scope("Train"):
    optimizer = tf.train.AdamOptimizer(FLAGS.learning_rate).minimize(cost_function)
    tf.summary.image('logits', tn_logits, max_outputs=4)
    tf.summary.image('label', t_label, max_outputs=4)

在会话中,我循环输入网络图像。

for epoch in range(FLAGS.training_epochs):

        for img in images:
            _, summary_str, costs = sess.run([optimizer, merged_summary_op, cost_function],
                                             feed_dict={t_im0: img.l_img.eval(), t_im1: img.r_img.eval(),
                                                        t_label: img.mask.eval()})

如何同时显示所有图像?


我希望我的所有图像都具有此视图,例如在画廊中:

【问题讨论】:

  • 如果 tn_logitst_label 是形状为 [batch_size, height, width, channels] 的张量,则 tensorboard 中将有 4 个 (max_outputs=4) 图像。你有不同的结果还是想要别的东西?
  • 是的,它们的形状为 [1, h, w, 1]。我刚刚尝试了 4 个结果,但它总是停留 2 个。

标签: tensorflow tensorboard


【解决方案1】:

图像张量的第一维和tf.summary.imagemax_output 参数定义张量板画廊中的图像数量。由于您一次写入 1 张图像,因此现有图像将被覆盖。

不是迭代,而是连接 4 个图像,使 tn_logitst_label 的形状为 [4, h, w, 1]

然后在 tensorboard 中,tn_logits 将有 Train/logits/image/0Train/label/image/1Train/label/image/2Train/label/image/3 条目。

【讨论】:

  • 如何串联?
  • 你可以使用numpy.concatenate(images, axis=0):docs.scipy.org/doc/numpy/reference/generated/…
  • 如果每个批次的批次大小不同,这是否可能:ConcatOp:输入的尺寸应该匹配:shape[0] = [1,246,381,3] vs. shape[1] = [1,252,367,3]跨度>
  • 我认为图像具有相同的hw。那么这将不起作用。图像必须具有相同的形状。您可以先尝试调整它们的大小。
猜你喜欢
  • 2019-10-10
  • 2021-09-17
  • 2016-11-07
  • 2018-01-28
  • 2017-08-12
  • 2023-01-30
  • 2020-12-10
  • 2017-06-20
  • 2018-01-27
相关资源
最近更新 更多