使用TensorFlow时,弹出错误:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
出现这样的问题的原因是我们的TensorFlow版本出现问题了,因此要换成支持cpu用AVX2(Advanced Vector Extensions )编译的TensorFlow版本
解决方法一:屏蔽警告信息
添加以下代码:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1'
关于os.environ[‘TF_CPP_MIN_LOG_LEVEL’], 请参考os.environ[“TF_CPP_MIN_LOG_LEVEL”]的值的含义
本例中弹出的 AVX2的错误级别为INFO,故设为等于"1"即可过滤掉。
但这样并没有从根本上解决问题。
解决方法二:更换TensorFlow版本
1.卸载原先的TensorFlow
pip uninstall tensorflow
2.下载合适版本的TensorFlow
点击这里下载。
我的python版本是3.6的,我下载的是TensorFlow 1.12.0(位于1.12.0/py36/CPU/avx2/tensorflow-1.12.0-cp36-cp36m-win_amd64.whl)版本的。
3.安装
pip install tensorflow-1.12.0-cp36-cp36m-win_amd64
成功安装后,再次运行TensorFlow就不会有关于AVX的警告了。
numpy警告
但是安装成功后,运行时没有那个警告了,但是有会有另一个:
FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
这是因为之前默认安装的TensorFlow版本的1.14.0的,而现在降到了1.12.0,但numpy版本过高了,将版本降下来就可以了,卸载之前的numpy,然后安装较低版本的numpy:pip install numpy==1.16.4