tensorflow
個々の操作の実行時間を測定する
サーチ…
TensorFlowのTimelineオブジェクトを使用した基本的な例
Timeline
オブジェクトを使用すると、グラフ内の各ノードの実行時間を取得できます。
- 古典的な
sess.run()
を使用するだけでなく、オプションの引数options
およびrun_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)
Google Chromeを開き、 chrome://tracing
ページに移動し、 timeline.json
ファイルを読み込みます。次のようなものが表示されます。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow