【问题标题】:Tensorflow - Generating a Tensorboard embedding with batching?Tensorflow - 使用批处理生成 Tensorboard 嵌入?
【发布时间】:2017-10-16 02:51:02
【问题描述】:

非常直接的问题:

2017 年 Tensorflow 开发者峰会上有一个很好的例子,介绍了如何使用 Tensorboard 并使用 MNIST 数据集 here 生成嵌入,这让我很容易弄清楚如何用我自己的数据集实现嵌入。

但是,在他们的示例中,他们在一次运行中使用 1024 张图像生成嵌入,而无需任何类型的批处理。有没有办法通过批处理生成它?似乎没有明显的方法可以做到这一点。

例如,如果我想要嵌入 1000 张图像但不能一次计算所有 1000 张图像,我想以 50 张为一组“存储”它们,然后最终结果仍然是 1000 张图像。

谢谢!

【问题讨论】:

    标签: python tensorflow tensorboard


    【解决方案1】:

    代码在运行sess.run(assignment, feed_dict={x: mnist.test.images[:1024], y: mnist.test.labels[:1024]}) 时计算 1024 张图像的嵌入。如果您只想计算图像子集的嵌入,请输入该子集并仅存储该子集的嵌入(因此,使用多个变量而不是单个变量),同时保持其余代码相同。

    【讨论】:

    • 哦,对不起,也许我解释得不好:我实际上想做相反的事情。例如,如果我想要 1000 张图像但不能一次计算所有 1000 张图像,我想以 50 张为一组“存储”它们,然后最终结果仍然是 1000 张图像。
    • 对,所以制作 200 个变量,每个变量适合 50 张图像,然后在操作上调用 session.run,该操作为每个变量分配您要为该变量存储的图像子集的结果跨度>
    • 啊,我想我现在明白你在说什么,我之前误解了,对不起!这基本上就是我现在正在做的事情,除了我基本上一直覆盖相同的变量,但我可以轻松地制作更多并以这种方式存储它们。但是,这不是让我能够在(继续我们的示例)20 个嵌入之间进行交换,因为它是单独存储它们的吗?我希望它在功能上看起来与我一次运行所有 1000 个并将其存储在 1 个变量中(即一次查看所有 1000 个)没有什么不同。可能吗?再次感谢您的帮助!
    • 我的意思是,您永远不能分配给变量而只获取结果。我不太明白你所说的功能上没有什么不同是什么意思。
    • 通过“功能上看起来没有什么不同”,我的意思是我想在一个图表上同时查看所有结果,就好像我一次运行了所有 1000 个而不是对它们进行批处理,而不是将我的视图换成不同的批次/图表。但是,我有一种感觉,由于嵌入的计算方式,根本不可能创建完整的组合批处理视图。
    猜你喜欢
    • 1970-01-01
    • 2017-10-10
    • 2017-01-15
    • 1970-01-01
    • 2017-01-12
    • 2017-01-22
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    相关资源
    最近更新 更多