Tensorflow不支持AVX2指令集的解决方法
这几天研究了一下FCN(全卷积网络),由于电脑配置不够,用GPU训练直接报OOM(内存溢出)了, 于是转战CPU,当然,这样会很慢,之后会继续搞一下,减小一下网络的复杂度,对一些参数设置一波,看能不能正常跑下来。
记得一开始没有装GPU版的tensorflow时用CPU版本跑程序的时候总是报警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2,当时没有太在意,大概搜了一下,就是说你的电脑是支持AVX2的,但是你装的tensorflow版本却不支持,当然,如果有GPU的话就可以忽视这个了,毕竟优先使用后者~既然可以更好一点(使用AVX2),那就追求一下完美吧……
网上很大部分资料对于这一块采取的措施都是屏蔽掉,所谓眼不见心不烦,但这样只能是自欺欺人啊,治标不治本,于是探究了一下,成功解决了这一问题,现记录一下:
1. 首先在Anaconda中创建虚拟环境,命名为cpu_avx2,python版本指定为3.7,这样避免出错崩溃影响到其他程序操作:
2. 在这里下载对应版本的tensorflow:https://github.com/fo40225/tensorflow-windows-wheel,比如我需要的是CPU+AVX2+Python3.7,那么我就选择第二个:
按照路径提示,在上边找到对应的.whl文件,对应本次安装的路径为:
3. 将该文件下载下来,放到相应的目录下(为了方便建议放到命令窗口对应的目录下,这样就不用再切换目录了,反正只要能找到该文件就行):
然后打开Anaconda Prompt,进入刚才创建的虚拟空间cpu_avx2,安装即可:
完事后可以看一下安装的包:
整个过程大概持续几分钟,需要安装一些依赖,如果不能下载.whl文件的话就直接在命令窗口使用该命令从github下载安装:
pip install https://github.com/fo40225/tensorflow-windows-wheel/tree/master/1.14.0/py37/CPU/avx2/tensorflow-1.14.0-cp37-cp37m-win_amd64.whl
友情提示,在Pytharm中要正确选择编译器,在本例中我们使用的是虚拟环境cpu_avx2:
这样以后再跑程序就不会再有如标题所示的警告提醒了,相应的性能也会有所提升,对于无N卡的电脑来说还是很不错的……
以上这篇Tensorflow不支持AVX2指令集的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:基于tensorflow指定GPU运行及GPU资源分配的几种方式小结