我在python 2.7中导入tensorflow后使用以下命令:
sess = tf.Session()
警告/错误:
tensorflow / core / platform / cpu_feature_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计算。
请帮我解决这个问题,以便我可以以最佳的方式使用我的机器。
答案 0 :(得分:2)
这些警告只是说如果你从源代码构建TensorFlow,它可以在你的机器上运行得更快。没有解决方案,因为它不是问题,而是用于向用户提供此信息的预期行为。
默认情况下,这些CPU指令未启用,以提供与大多数计算机更广泛的兼容性。
正如文档所说:
TensorFlow检查启动时是否已使用CPU上可用的优化进行编译。如果未包含优化,TensorFlow将发出警告,例如不包括AVX,AVX2和FMA指令。
有关详细信息,请参阅Performance Guide。
答案 1 :(得分:0)
您看到的这些警告告诉您编译的代码不使用您拥有的这些说明,但不会使用所有CPU。当维护者编译存储库的代码时,他们需要编译它以便它支持大多数CPU,这意味着它们告诉编译器使用特定于体系结构的指令。
如果您希望程序包使用您拥有的所有指令,则需要自行编译,或者称为从源代码安装。您可以找到有关如何执行此操作的文档here,一旦您从源代码编译tensorflow
,您就应该阅读performance specific instructions。
然而,在一天结束时,对于真实世界的应用程序,您可能真的需要GPU。确实,这些CPU指令会为您带来一些性能提升,但这与使用GPU无法相提并论。