tensorflow code optimization strategy

后端 未结 1 723
情深已故
情深已故 2020-12-14 13:23

Please excuse the broadness of this question. Maybe once I know more perhaps I can ask more specifically.

I have performance sensitive piece of tensorflow code. From

相关标签:
1条回答
  • 2020-12-14 13:29

    I wanted to give a more complete answer about how to use the Timeline object to get the time of execution for each node in the graph:

    • you use a classic sess.run() but specifying arguments options and run_metadata
    • you then create a Timeline object with the run_metadata.step_stats data

    Here is in example code:

    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)
    

    You can then open Google Chrome, go to the page chrome://tracing and load the timeline.json file. You should something like:

    0 讨论(0)
提交回复
热议问题