【发布时间】:2017-05-31 07:49:36
【问题描述】:
在另一个问题中,有人展示了他的 TensorBoard 的屏幕截图,显示了每个节点的内存使用情况:
我在使用 Tensorboard 的实验中从未见过这些。我所做的就是打电话
writer = tf.summary.FileWriter('/tmp/tensorboard', sess.graph)
在sess.run() 之后。是否可能需要添加一些“摘要”来记录内存使用情况?
【问题讨论】:
在另一个问题中,有人展示了他的 TensorBoard 的屏幕截图,显示了每个节点的内存使用情况:
我在使用 Tensorboard 的实验中从未见过这些。我所做的就是打电话
writer = tf.summary.FileWriter('/tmp/tensorboard', sess.graph)
在sess.run() 之后。是否可能需要添加一些“摘要”来记录内存使用情况?
【问题讨论】:
按照指令here,您实际上可能已经为要显示的内存和时间编写了所有必要的行,但您还需要将 tensorboard GUI 中的“会话运行”下拉菜单从默认的“无”更改为任何选项。否则它们是隐藏的。见图:
至少,我需要这样做才能显示它们 - 以前的答案对我有用,但我需要更改下拉菜单。
【讨论】:
您需要将一些 RunOptions 添加到您的 session 运行到您的摘要中,如本 document(运行时统计部分)中所述。
这是允许执行此操作的代码:
merged = tf.summary.merge_all()
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
summary, _ = sess.run([merged, train_step],
feed_dict=...,
options=run_options,
run_metadata=run_metadata)
writer.add_run_metadata(run_metadata, 'step%d' % i)
writer.add_summary(summary, i)
【讨论】:
merged == None,导致sess.run出现问题
_ = sess.run(train_step, feed_dict=..., options=run_options, run_metadata=run_metadata) writer.add_run_metadata(run_metadata, 'step%d' % i)
要在 tensorboard 中获取时间和内存信息,我会这样做
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
file_writer = tf.summary.FileWriter('<path>', sess.graph)
for (run_iteration...)
... = sess.run(....,
options=run_options,
run_metadata=run_metadata
)
file_writer.add_run_metadata(
run_metadata,"run%d" %(run_iteration,),run_iteration)
【讨论】: