gpt4 book ai didi

python - Tensorboard 图像摘要

转载 作者:太空宇宙 更新时间:2023-11-03 15:43:51 26 4
gpt4 key购买 nike

我使用 Matplotlib 在训练期间的每个时期创建自定义 t-SNE 嵌入图。我希望这些图以 slider 格式显示在 Tensorboard 上,就像这个 MNST 示例:

slider image example

但是每批图都显示为每个时期的单独摘要,这在以后很难查看。见下文:

multiple distinct image summaries

它似乎正在创建多个具有相同名称的图像摘要,因此附加 _X 后缀而不是像我想要的那样覆盖或添加到 slider 。同样,当我使用 family 参数时,图像的分组方式不同,但仍将 _X 附加到摘要名称范围。

grouped distinct image summaries

这是我的代码,用于创建自定义绘图并使用自定义绘图添加到 tf.summary.image 并将评估的摘要添加到摘要作者。

def _visualise_embedding(step, summary_writer, features, silhouettes, sample_size=1000):
'''
Visualise features embedding image by adding plot to summary writer to track on Tensorboard
'''
# Select random sample
feats_to_sils = list(zip(features, silhouettes))
shuffle(feats_to_sils)
feats, sils = zip(*feats_to_sils)
feats = feats[:sample_size]
sils = sils[:sample_size]

# Embed feats to 2 dim space
embedded_feats = perform_tsne(2, feats)

# Plot features embedding
im_bytes = plot_embedding(embedded_feats, sils)

# Convert PNG buffer to TF image
image = tf.image.decode_png(im_bytes, channels=4)

# Add the batch dimension
image = tf.expand_dims(image, 0)
summary_op = tf.summary.image("model_projections", image, max_outputs=1, family='family_name')
# Summary has to be evaluated (converted into a string) before adding to the writer
summary_writer.add_summary(summary_op.eval(), step)

我知道如果我将可视化方法作为操作添加到图形中以避免名称重复问题,我可能会得到我想要的 slider 图。但是我需要能够遍历我评估的张量值来执行 t-SNE 来创建嵌入...

我已经坚持了一段时间,所以任何建议都将不胜感激!

最佳答案

这可以通过使用 tf.Summary.Image() 来实现

例如:

    im_summary = tf.Summary.Image(encoded_image_string=im_bytes)
im_summary_value = [tf.Summary.Value(tag=self.confusion_matrix_tensor_name,
image=im_summary)]

这是一个 summary.proto 方法,所以起初对我来说很明显,因为方法定义无法通过 Tensorflow 访问。当我在 github 上找到它的代码片段时,我才意识到它的功能。

无论哪种方式,它都会像我想要的那样在 Tensorboard 上将图像摘要公开为幻灯片。 💪

关于python - Tensorboard 图像摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com