繁体   English   中英

Tensorflow:将图形中的张量保存到文件(或图像)中

[英]Tensorflow: Save tensors in graph to file (or image)

我目前有一组复杂的操作,这些操作可以迭代创建图像并将它们提供给要使用的进程。 这是非常庞大而复杂的图的一部分。 我想确保正确创建了这些图像。

通常用于调试,我们有tf.Print ,它创建了一个无操作,具有打印到屏幕的副作用。

有没有
a)我可以以某种方式将非常大的中间张量存储到文件中吗?
b)专门将中间张量图像存储到文件(或屏幕)的某种方法?

显然,如果我有一个评估的数字张量,这没问题,因为我可以使用matplotlib的imshow可视化它,但作为符号张量,如何执行它并不是那么明显。

我可以保存一堆中间张量,以使用sess.run进行评估,但是我的代码的sess.run方式将非常难以手动访问并收集所有这些。

在张量流中保存具有空间相关性(例如张量的图像)的张量的最佳方法是通过tf.summary.image 查看tensorboard教程 ,了解如何将它们完美地组合在一起,但关键之处如下:

tf.summary.image("img", img)
merged = tf.summary.merge_all()
train_writer = tf.summary.FileWriter('logs', sess.graph)
for i in range(num_iters):
    summary = sess.run(merged)
    train_writer.add_summary(summary, i)

然后启动张量板:

tensorboard --logdir logs

然后在浏览器中转到localhost:6006以查看摘要。

这种方法的缺点是,除非明确指定,否则您无法很好地控制所看到的切片(例如tf.summary.image("img", img[...,10])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM