如何在TensorBoard中显示每节点内存?

时间:2017-05-31 07:49:36

标签: tensorflow tensorboard

在另一个问题中,有人展示了他的TensorBoard的屏幕截图,显示了每个节点的内存使用情况:

enter image description here

我在Tensorboard的实验中从未见过这些。我正在做的就是打电话

writer = tf.summary.FileWriter('/tmp/tensorboard', sess.graph)
sess.run()之后

。是否有一些"摘要"我需要添加记录内存使用情况吗?

3 个答案:

答案 0 :(得分:1)

您需要在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)

答案 1 :(得分:1)

按照指令here,您实际上可能已经写了所有必要的行以显示内存和显示的时间,但是您还需要将张量板GUI中的“会话运行”下拉列表从默认的“无”更改为”的任何选项。否则,它们将被隐藏。见图:

enter image description here

至少,这是我需要显示的内容-先前的答案对我有用,但是我需要更改下拉列表。

答案 2 :(得分:0)

要在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)