一、问题抛出

运行 import tensorflow 的时候,出现下面的问题:

illegal instruction (core dumped)

关于问题的讨论在Github上有开issue #17441stackoverflow也有相关问题回答。
总结相关回答:新版本(version >= 1.6.0)的Tensorflow binary release是在avx指令环境下编译的。如果你的CPU不支持该类型指令,就不能使用新版本。[1]

二、解决方案

根据查阅很多相关文档、博客、简书 ... ...,得出以下几种解决方案:

首先要确定的是:如果你使用的是虚拟机,要确定是否支持avx指令集!

cat /proc/cpuinfo  #下图中没有avx,则不支持。

  1. 降级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