TensorFlows 时间轴对象的基本示例

Timeline 对象可以让你获得的执行时间为图中的每个节点:

  • 你使用经典的 sess.run(),但也指定了 optionsrun_metadata 的可选参数
  • 然后使用 run_metadata.step_stats 数据创建 Timeline 对象

这是一个测量矩阵乘法性能的示例程序:

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

x = tf.random_normal([1000, 1000])
y = tf.random_normal([1000, 1000])
res = tf.matmul(x, y)

# Run the graph with full trace option
with tf.Session() as sess:
    run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
    run_metadata = tf.RunMetadata()
    sess.run(res, options=run_options, run_metadata=run_metadata)

    # Create the Timeline object, and write it to a json
    tl = timeline.Timeline(run_metadata.step_stats)
    ctf = tl.generate_chrome_trace_format()
    with open('timeline.json', 'w') as f:
        f.write(ctf)

然后,你可以打开 Goog​​le Chrome,转到页面 chrome://tracing 并加载 timeline.json 文件。你应该看到类似的东西:

StackOverflow 文档