一、问题抛出
运行 import tensorflow 的时候,出现下面的问题:
illegal instruction (core dumped)
关于问题的讨论在Github上有开issue #17441。stackoverflow也有相关问题回答。
总结相关回答:新版本(version >= 1.6.0)的Tensorflow binary release是在avx指令环境下编译的。如果你的CPU不支持该类型指令,就不能使用新版本。
[1]
二、解决方案
根据查阅很多相关文档、博客、简书 ... ...,得出以下几种解决方案:
首先要确定的是:如果你使用的是虚拟机,要确定是否支持avx指令集!
cat /proc/cpuinfo #下图中没有avx,则不支持。
- 降级Tensorflow版本到1.5或更低。(不推荐,但可以尝试一下。)
pip install --upgrade tensorflow==1.5
2. tensorflow源码编译的方法。(不推荐,太麻烦了)
3. 换个CPU 。(不推荐,有钱任性也可以)
4. 使用conda的环境解决。(推荐,好用)
conda create -n tensorflow python=3.6 # 创建虚拟环境,已经是虚拟环境就忽略吧
source activate tensorflow # 激活虚拟环境
conda install tensorflow-gpu == 1.14.0 # 安装tensorflow