Tensorboard不显示所有操作的运行时/内存

时间:2017-10-25 12:29:05

标签: tensorflow runtime profiling tensorboard

我在TensorFlow中实现了一个网络,需要很长时间才能进行训练,因此需要对其进行分析以查看哪些部分会导致长运行时间。

为此,我按照here的说明捕获运行时和内存信息。我的代码如下所示:

// define network
loss = ...
train_op = tf.train.AdamOptimizer().minimize(loss, global_step=global_step)

// run forward and backward prop for one batch
run_metadata = tf.RunMetadata()
options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
_,loss,sum = sess.run([train_op,loss,sum], feed_dict=fd, options=options, run_metadata=run_metadata)
writer.add_run_metadata(run_metadata, 'step_%d' % step)

然后我可以看到"会话运行"在TensorBoard。但是,只要加载会话运行,我的图形中的大多数操作都会变为橙色,如下所示,并且没有可用的运行时或内存信息:

enter image description here

根据传说,这些操作是"未使用"。但情况并非如此,因为除了"损失"和"选择"像那样显示。显然,必须使用整个网络来计算损失。所以我不明白为什么图表会这样显示。

我在特斯拉K40c上使用TF 1.3。

2 个答案:

答案 0 :(得分:1)

我曾经遇到过与Tensorboard相同的问题,除了渐变和优化器操作之外,我在会话运行中没有注册任何内容。

我通过将我的Tensorflow版本升级到1.4版本来修复它。

答案 1 :(得分:0)

不确定。 尝试添加此行

writer.add_summary(_, step)

之后

writer.add_run_metadata...