首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tensorflow代码优化策略

tensorflow代码优化策略
EN

Stack Overflow用户
提问于 2016-06-10 15:16:23
回答 1查看 4.9K关注 0票数 9

请原谅这个问题的宽泛性。也许一旦我知道了更多,也许我可以更具体地要求。

我有性能敏感的tensorflow代码。从对gpu编程知之甚少的人的角度来看,我想知道什么指南或策略将是优化我的代码的“好起点”。(单一gpu)

也许每次花在每个tensorflow上的时间会很好.

我有个模糊的理解

  • 有些操作在分配给cpu而不是gpu时运行得更快,但不清楚哪些操作
  • 有一个叫做"EEG“的google软件,我在一个 可能有一天会被开源的报纸。

可能还有其他一些我不知道的共同因素。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-12 12:49:03

关于如何使用Timeline对象来获取图形中每个节点的执行时间,我想给出一个更完整的答案:

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

下面是示例代码:

代码语言:javascript
复制
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://tracing页面并加载timeline.json文件。你应该做这样的事:

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37751739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档