帮酷LOGO
  • 显示原文与译文双语对照的内容
Tips for optimizing TensorFlow code

  • 源代码名称:tf-performance-tips
  • 源代码网址:http://www.github.com/beopst/tf-performance-tips
  • tf-performance-tips源代码文档
  • tf-performance-tips源代码下载
  • Git URL:
    git://www.github.com/beopst/tf-performance-tips.git
  • Git Clone代码到本地:
    git clone http://www.github.com/beopst/tf-performance-tips
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/beopst/tf-performance-tips
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • 优化TensorFlow代码

    这里 repo 总结了优化TensorFlow代码的一些技术。 官方文档描述了一组最佳实践可以在这里找到 开始前,阅读它会很有帮助。

    这里提供了包含所有库/包的 Dockerfile插件。 它包括如何安装下面列出的库/包。

    首先,找出CPU是否会阻塞GPU是很重要的,反之亦然。 如果GPU是一个瓶颈,那么优化就比较容易了。 另一方面,如果CPU是你的瓶颈,那么它。

    总的来说,我得到了 1.5 ~2.0x 性能增益,应用以下所有。

    如果gpu完全利用

    • 4D 张张量使用 NCHW 数据格式。
    • cudnn库的本机数据格式是 NCHW 。 性能增益增加,因为有很多层。
    • 如果使用这里格式,则必须使用 _fused_batch_norm 。 否则,由于 nn.moments 无法有效地处理这里格式,代码的速度将几乎为 10x 。
    • 一些预处理操作只支持 HWC 格式,所以我们必须在某个地方转换张量。 如果输入管道是一个瓶颈,最好使用GPU将它的转换。
    • 使用熔融批处理规范。
    • 无论数据格式如何,最好使用熔融批处理规范。

    如果 CPU 是你的瓶颈,那么

    • 将队列用于输入管道
    • 使用 TCMalloc 。
    • 对于多线程程序,TCMalloc 更快。
    • 同样,如果你使用多线程作为输入管道,它也是有效的。
    • 相关问题或者评论:这里有 ,这里是
    • 使用英特尔 CPU 上的高级指令( SSE,AVX,FMA ) 。
    • 对于 TensorFlow v.1. 0.0,在执行代码时可以看到以下警告。
    tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
    tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
    tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
    tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
    tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
    tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.



    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语