Tensorboard - 分析计算时间 - 运行时统计中的一切都是“未使用的子结构”

Posted

技术标签:

【中文标题】Tensorboard - 分析计算时间 - 运行时统计中的一切都是“未使用的子结构”【英文标题】:Tensorboard - Profiling compute time - everything is a "unused substructure" in runtime statistics 【发布时间】:2018-01-26 03:39:45 【问题描述】:

Tensorboard 提供运行时统计信息,允许分析内存消耗和计算时间(see Docu)。 然而,在 tensorflow v1.2.1 中,我的一些操作以虚线和橙色显示为“未使用的子结构”,并且根本没有提供任何信息 - 没有设备,也没有内存,也没有计算时间。

随着 tensorflow v1.3 的更新,情况变得更糟。现在一切都是橙色虚线“未使用的子结构”

我在需要优化的各种大型 TensorFlow 项目以及同事的 PC 上进行了尝试。 我做错了什么还是这是 tensorflow / tensorboard 中的错误?

这是一个简约的示例代码:

import tensorflow as tf
from tensorflow.python.client import timeline

sess = tf.InteractiveSession() 
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()

# create some dummy Ops for the graph
C1 = tf.constant(5)
C2 = tf.constant(3)
myOp = C1*C2 + tf.square(C2)
res = sess.run([myOp], options=run_options,run_metadata = run_metadata)
writer = tf.summary.FileWriter(logdir='tensorboard/profile_bug',graph=sess.graph)
print (res)

tl = timeline.Timeline(run_metadata.step_stats)
ctf = tl.generate_chrome_trace_format()
with open('tensorboard/timelineOfBug.json', 'w') as f:
    f.write(ctf)

writer.add_run_metadata(run_metadata,"mySess")
writer.close()
sess.close()

【问题讨论】:

好像是一个tensorboard bug:github.com/tensorflow/tensorboard/issues/298 使用 TF 1.2:如果我在“颜色”单选按钮中选择“内存”,我会看到“统计信息中包含的设备:”复选框的列表,一个用于我的 CPU,一个用于 GPU。如果我选中 GPU 框(默认情况下未选中),突然我可以看到使用的节点(对于所有不同的颜色视图,而不仅仅是内存)。这对你有用吗? 我遇到了类似的问题。尝试取消勾选,然后在左侧面板的统计数据中包含的设备中重新勾选 GPU。为我工作 【参考方案1】:

这是一些新版本的 TF(好像是 1.2 和 1.3)的问题。更新到 1.4 可以修复它。

【讨论】:

以上是关于Tensorboard - 分析计算时间 - 运行时统计中的一切都是“未使用的子结构”的主要内容,如果未能解决你的问题,请参考以下文章

TensorBoard的使用(结合线性模型)

Tensorboard 记录非张量(numpy)信息(AUC)

Tensorboard 示例未重现 GPU 配置文件

Tensorflow学习笔记3:TensorBoard可视化学习

如何将 pytorch 闪电分析器与 tensorboard 集成?

TensorFlow——TensorBoard可视化