当前位置: 首页 > 知识库问答 >
问题:

Tensorflow编译加速CPU

袁单鹗
2023-03-14

在导入python2.7中的tenstorflow后,我使用以下命令:sess=tf。会话代码

警告/错误:

tensorflow/core/platform/cpu\u feature\u guard.cc:45]tensorflow库的编译不是为了使用SSE4.2指令,但这些指令在您的机器上可用,可以加快cpu计算。

2017-02-02 00:41:48.616602:W tensorflow/core/platform/cpu_feature_guard.cc:45]tensorflow库的编译不是为了使用AVX指令,但这些指令在您的机器上可用,可以加快cpu计算。

2017-02-02 00:41:48.616614:W tensorflow/core/platform/cpu_feature_guard.cc:45]tensorflow库未编译为使用AVX2指令,但这些指令在您的机器上可用,可以加快cpu计算。

2017-02-02 00:41:48.616624:W tensorflow/core/platform/cpu_feature_guard.cc:45]tensorflow库的编译不是为了使用FMA指令,但这些指令在您的机器上可用,可以加快cpu计算。

请帮我解决这个问题,这样我就可以在最佳功率下使用我的机器。


共有2个答案

景高杰
2023-03-14

您看到的这些警告告诉您,编译后的代码没有使用您拥有的这些指令,但不是所有的CPU。当维护者编译存储库的代码时,他们需要编译它,使它支持大多数CPU,这意味着他们告诉编译器使用特定于体系结构的指令。

如果您想让软件包使用您拥有的所有指令,您需要自己编译它,或者它被称为“从源代码安装”。您可以在这里找到有关如何执行此操作的文档,一旦您熟悉了从源代码处编译tensorflow,那么您应该去阅读特定于性能的说明。

然而,归根结底,对于现实世界的应用程序,您可能真的需要一个GPU。这些CPU指令确实给了您一点性能提升,但这与使用GPU是不可比的。

葛鸿熙
2023-03-14

这些警告只是说如果你从源代码构建TensorFlow,它可以在你的机器上运行得更快。没有修复,因为它不是一个问题,而是打算向用户提供此信息的行为。

默认情况下,这些CPU指令没有启用,以提供与大多数机器更广泛的兼容性。

正如文件所说:

TensorFlow在启动时检查它是否已使用CPU上可用的优化进行编译。如果未包括优化,TensorFlow将发出警告,例如未包括AVX、AVX2和FMA指令。

有关这方面的所有详细信息,请参阅《性能指南》。

 类似资料:
  • 问题内容: 我已经在Scala中编程了一段时间了,我喜欢它,但是令我烦恼的是编译程序所花费的时间。这似乎是一件小事,但是使用Java可以对程序进行一些小的更改,单击netbeans中的运行按钮,然后BOOM就会运行,随着时间的推移,在scala中进行编译似乎会花费大量时间。我听说在许多大型项目中,脚本编写语言变得非常重要,因为需要花费大量的编译时间,而使用Java时却没有看到这种需求。 但是我来自

  • 问题内容: 我们开始在我们的项目中大量使用GWT,并且GWT编译器的性能变得越来越令人讨厌。 我们将开始改变工作方式以减轻该问题,包括更加强调托管模式浏览器,这推迟了以后运行GWT编译器的需求,但这带来了自身的风险,特别是在直到比我们想要的晚得多的时候,才能够真正使用浏览器解决问题。 理想情况下,我们希望使GWT编译器本身更快-一分钟的编译相当小的应用程序花费了很多精力。但是,如果使用的是相当幼稚

  • 所以,我已经通过Chocolate安装了Bazel,安装了Python 3.5和2.7,安装了CUDA v8和cuDNN v6,安装了JDK 8.0,我现在正在尝试在我的Windows 10设备上定制TensorFlow,使用AVX、AVX 2和CUDA。TensorFlow GPU,预构建版本,确实可以工作,我已经测试并成功运行了它。 我遵循了其他文章的说明,包括在TensorFlow的实际站点

  • 我有一个简单的JNI.dll,试图在测试Java应用程序中使用它。它是一个文件,由几个函数组成,头部由生成。(我正在使用MinGW btw编译) 如果我用GCC编译并链接这段代码,我就可以很好地用system.loadLibrary()加载.dll并使用它。但是,如果我用G++编译它,将失败,出现可怕的“UnsatisfiedLinkError”。 g++-wl,--add-stdcall-ali

  • 问题内容: 这是从运行脚本以检查Tensorflow是否正常运行时收到的消息: 我注意到它提到了SSE4.2和AVX, 什么是SSE4.2和AVX? 这些SSE4.2和AVX如何改善Tensorflow任务的CPU计算。 如何使用这两个库使Tensorflow进行编译? 问题答案: 我只是遇到了同样的问题,似乎的建议并未涵盖SSE4.2支持,添加就足够了。最后,我成功建立了 没有任何警告或错误。

  • 这是运行脚本检查Tensorflow是否工作时收到的消息: 我注意到它提到了SSE4。2和AVX, 什么是SSE4。2和AVX 这些是怎么做的。2和AVX改进了Tensorflow任务的CPU计算 如何使用这两个库来编译Tensorflow