Tensorboard 图像摘要

2023-12-25

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

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

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

这是我创建自定义绘图并添加到的代码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)

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

我已经被困在这个问题上有一段时间了,所以任何建议都是值得赞赏的!


这可以通过使用来实现tf.Summary.Image() https://www.tensorflow.org/api_docs/python/tf/summary/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 上的幻灯片。 ????

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tensorboard 图像摘要 的相关文章

随机推荐

  • 将您自己的 SQLite 数据库添加到 Android 应用程序

    我们如何将自己的 SQLite 数据库添加到 android 项目中 试试这个代码 public class DataBaseHelper extends SQLiteOpenHelper private Context mycontext
  • 更改页面 url 而不刷新页面

    这可能吗 问题是这样的 我使用此 URL 进行关键字搜索 搜索后 http localhost thi search keyword key http localhost thi search keyword key 然后我有一个使用 Aj
  • Eclipse e4 工具装饰条中的控件

    我想在装饰条中创建组合框 所以我开始添加一个文本框 我创建了 TrimBars gt WindowTrim gt Toolbar gt Tool Control 我还提到了 Class URI public class SearchTool
  • Android:如何跟踪软键盘是否打开?

    在我的应用程序中 设备软键盘覆盖了 EditTextView 因此用户无法看到他正在输入的内容 所以我想隐藏其他视图 比如我的例子中的按钮 以使 EditTextViews 可见 但相反做类似的事情 EditText onFocus hid
  • 如何发送 ASP.NET Web 服务的参数

    我有一个大学项目 我应该在其中实现一个使用 Web 服务的 java 驱动的网站 一些将创建为 servlet 另一些则应创建为 NET servlet 我创建了可以称为 loginservice username md5 的 java s
  • ember.js 和 bootstrap Accordion - 创建视图的“ember 方式”

    我的问题不是如何使引导手风琴工作 而是尝试确保我理解 余烬 的做事方式 我在这里创建了一个引导手风琴的工作示例 截至 2013 年 3 月 12 日 http jsfiddle net nrionfx s59fA http jsfiddle
  • 如何在ggplot2中使用coord_polar移动x轴标签

    我无法在下图中移动轴标签 现场数据 辅助数据等 以便它们都很大并且完全适合图表 整个代码如下 关于做什么的建议 Datasource lt c Field data Participatory data Remotely sensed da
  • Jetpack Compose 导航 - 底部导航多个返回堆栈 - 查看模型范围问题

    所以我有两个选项卡 选项卡 A 和选项卡 B 每个选项卡都有自己的后堆栈 我使用此中的代码实现了多个返回堆栈导航谷歌文档 https developer android com jetpack compose navigation val
  • 对 unicode 文件使用 getline 时出现问题

    更新 感谢 Potatoswatter 和 Jonathan Leffler 的评论 相当尴尬的是 我被调试器工具提示发现没有正确显示 wstring 的值 但它仍然不太适合我 我已经更新了问题以下 如果我有一个小的多字节文件 我想读入一个
  • 在 BlackBerry 上解析 XML 文件

    我想知道如何在 BlackBerry 上解析 XML 数据 我在某处读到 JSON 是解析 xml 数据的好方法 是否有使用 JSON 或任何其他机制解析 XML 数据的教程 在 Blackberry 中解析 XML Simple API
  • MVC 中模型的条件验证

    我有一个视图和模型 用于记录的编辑和插入页面 业务需求之一是某个字段在编辑时需要 但在新建时不需要 最初 在将此特定功能添加到待办事项中之前 我的模型如下 Required ErrorMessage Range 0 0 double dec
  • 检查值是否为数字

    我如何简单地检查返回值是否为类型int or uint是一个数字吗 Simple if myValue is Number fire end if UPDATE 请记住 如果 myValue属于类型int or uint then myVa
  • Netezza CSV 加载

    我们是 netezza 新手 目前正在尝试通过脚本将 CSV 文件导入 netezza 让它发挥作用的最佳方法是什么 理想情况下我们希望 1 创建我们想要的表结构 2 导入CSV并将CSV列名称映射到我们想要的结构 一次导入 此代码返回错误
  • 如何使用react-navigation的headerLeft和headerRight

    使用react navigation 发现headerLeft没有响应 并且没有 headerLeft headerRight class Message extends React Component static navigationO
  • Concat JS 不工作

    var myjson name cluster children for var i 0 i lt unique length i var uniquepart unique i myjson concat uniquepart var s
  • org.hibernate.Query .iterate() VS .getResultList() 查询生成

    我在用org hibernate Query查询结果的API 但我遇到了奇怪的问题 这是假设我的查询select DISTINCT abc FROM ABC abc where ORDER BY abc name ASC 我已经测试过这个O
  • C# - 您可以在通用列表中单独循环遍历类型吗?

    我有 3 个不同的类 一个通用的 实体 类 然后是两个继承它的类 一个子弹类和一个敌人类 然后我有一个实体类的列表 列表中包含子弹和敌人 并且很多地方我都将它们视为相同的 然而 有时 我只想循环其中一个类 而不是另一个类 例如循环穿过每颗子
  • 批处理 R 脚本 - 设置工作目录并选择输出文件夹

    我一直在挖掘几个地方来满足两个简单的需求 但找不到最终的答案 我正在以批处理模式运行 R 脚本 不确定我的解决方案是否是最好的 但我正在使用 R CMD BATCHhttp stat ethz ch R manual R patched l
  • 调用默认构造函数

    我对 C 中的默认构造函数有疑问 这是一件简单的事情 但看不出它有什么问题 我有一个带有 3 个可选参数的构造函数 初始化列表上有 const 值 data data int D 1 int M 1 int Y 1583 Day D Mon
  • Tensorboard 图像摘要

    我使用 Matplotlib 在训练期间的每个时期创建自定义 t SNE 嵌入图 我希望绘图以滑块格式显示在 Tensorboard 上 就像这个 MNST 示例一样 但相反 每批图都显示为每个时期的单独摘要 这确实很难在以后查看 见下文