如何在 Keras 中使用张量板显示输入张量

Posted

技术标签:

【中文标题】如何在 Keras 中使用张量板显示输入张量【英文标题】:How to show input tensor with tensorboard in Keras 【发布时间】:2019-07-26 11:02:08 【问题描述】:

我正在使用 Keras 来训练图像分类器。现在我想检查输入到我的 ConvNet 的输入图像是否正确,我想用 Keras 中的 tensorard 显示它们。

在谷歌上搜索后,一些答案说我需要实现一个 Keras tensorboard 回调的子类,如下所示:

class TensorBoardImage(keras.callbacks.Callback):
def __init__(self, tag):
    super().__init__() 
    self.tag = tag

def on_epoch_end(self, epoch, logs=):
    # Load image
    img = data.astronaut()
    # Do something to the image
    img = (255 * skimage.util.random_noise(img)).astype('uint8')

    image = make_image(img)
    summary = tf.Summary(value=[tf.Summary.Value(tag=self.tag, image=image)])
    writer = tf.summary.FileWriter('./logs')
    writer.add_summary(summary, epoch)
    writer.close()

    return

但是我怎样才能将我的输入图像张量传递给这个回调呢? 如果有人知道怎么做?

【问题讨论】:

【参考方案1】:

我建议只使用 matplot lib 保存您的图像。这将变得更容易,无需进入 tf.Summary 的世界。如果您仍然对此感兴趣,则需要使用 tf.image_summary。

【讨论】:

以上是关于如何在 Keras 中使用张量板显示输入张量的主要内容,如果未能解决你的问题,请参考以下文章

如何使其将张量板日志附加到以前的运行中?

在 Keras 中,如何任意调整一维张量的大小?

如何在 Keras / Tensorflow 中将(无,)批量维度重新引入张量?

如何在张量流 keras 中使用 CRF?

如何在 Keras 自定义损失函数中使用张量?

如何向Keras的层喂入数据