![612430b7ddcf1f4da7b58cb6a3225d4d.png](https://i-blog.csdnimg.cn/blog_migrate/397bc1ea2e733affae3708b34cdb9967.jpeg)
警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
![58c6a239ea6393eb40ed095292b1bee2.png](https://i-blog.csdnimg.cn/blog_migrate/2793f8541bc3d55f28daf67d036c478b.jpeg)
大概意思是:你的CPU支持AVX扩展,但是你安装的TensorFlow版本无法编译使用。
原因:
除了通常的算术和逻辑,现代CPU提供了许多低级指令,称为扩展,例如, SSE2,SSE4,AVX等来自维基百科:
解决方法:
如果安装的是GPU版本
如果你有一个GPU,你不应该关心AVX的支持,因为大多数昂贵的操作将被分派到一个GPU设备上(除非明确地设置)。在这种情况下,您可以简单地忽略此警告:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
如果安装的是CPU版本(pip install tensorflow)
1.在代码中加入如下代码,忽略警告:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
2.编译TensorFlow源码
如果您没有GPU并且希望尽可能多地利用CPU,那么如果您的CPU支持AVX,AVX2和FMA,则应该从针对CPU优化的源构建tensorflow。在这个问题中已经讨论过这个问题,也是这个GitHub问题。 Tensorflow使用称为bazel的ad-hoc构建系统,构建它并不是那么简单,但肯定是可行的。在此之后,不仅警告消失,tensorflow性能也应该改善。
![7d24758f15b374096b79796a7cd29419.png](https://i-blog.csdnimg.cn/blog_migrate/6d0a52a4628f8ef239c04c6ef3e2fd77.png)
问题解决