当数据格式为"NCHW"时,如何在tensorboard中显示图像?

how to display images in tensorboard when data fomat is "NCHW"?

在tensorflow中,使用函数tf.summary.image,我们可以在tensorboard中显示图片。

image( name, tensor, max_outputs=3, collections=None )  

变量tensor的数据格式为"NHWC",如[batch_size, height, width, channels]

但是当我使用"NCHW"([batch_size, channels ,height, width])时,如何在tensorboard中显示图像?

图像摘要不像其他一些 tensorflow 函数那样处理多个内存布局。所以目前,您唯一的选择是转置图像。

由于tf.transpose是一个比较繁重的操作,你可以将转置限制为仅汇总的图像数量,比如summary_img_num:

summary_imgs = tf.transpose(imgs[:summary_img_num], perm=[0,3,1,2])
tf.summary.image('images', summary_imgs, max_outputs=summary_img_num)

如果您坚持 tf.summary.image 的默认值 max_outputs=3

summary_imgs = tf.transpose(imgs[:3], perm=[0,3,1,2])
tf.summary.image('images', summary_imgs)