在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)