非法指令(核心转储)张量流

时间:2018-03-04 06:08:44

标签: python ubuntu tensorflow machine-learning

我在我的ubuntu python中导入tensorflow 使用以下命令 -

$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Illegal instruction (core dumped)

程序退出。 请指明解决方案。

4 个答案:

答案 0 :(得分:9)

我遇到了同样的问题,不得不将tensorflow降级到1.5.0:

pip uninstall tensorflow
pip install tensorflow==1.5.0

编辑:正如@Tobsta在评论中指出的那样,另一种选择是从源编译二进制文件。版本> 1.5的预编译二进制文件使用旧CPU不支持的AVX指令

答案 1 :(得分:3)

可以使用 anaconda 通过 hack 安装所需版本的 TensorFlow。 首先到有足够空间的目录下载anaconda(查看你要安装的版本)

curl -O https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh

如果您想确保安装的 Anaconda 的完整性,请使用 SHA-256 检查。

sha256sum Anaconda3-2019.03-Linux-x86_64.sh

运行 Anaconda 脚本:

bash Anaconda3-2019.03-Linux-x86_64.sh

输出应该是这样的:

45c851b7497cc14d5ca060064394569f724b67d9b5f98a926ed49b834a6bb73a  Anaconda3-2019.03-Linux-x86_64.sh

现在当你得到提示时: Anaconda3 将安装在以下位置:....

输入要安装的位置或按 Enter 继续。

现在根据您的选择/要求,您可以输入 yes/no “您是否希望安装程序通过运行 conda init 来初始化 Anaconda3?”

现在我们将使用 conda 而不是使用 pip 来安装 tensorflow,但为此我们必须首先使用 vim ~/.bashrc 文件设置路径。

# added by Anaconda3 installer
export PATH="/anaconda3/bin:$PATH"

输入您自己的路径而不是 /anaconda3/bin,例如:/data/anaconda3/bin 或其他任何内容。

要使其有效,请运行:

source ~/.bashrc

现在创建一个虚拟环境。

conda create -n tf_env
source /anaconda3/bin/activate tf_env

现在要安装 TensorFlow 或 Keras,请运行:

conda install tensorflow
conda install keras

或者,如果您要安装特定版本,例如 TensorFlow 的 1.14.0 版和 Keras 的 2.3.1 版。

conda install tensorflow==1.14.0
conda install keras==2.3.1

您必须处于与安装 Keras 和/或 TensorFlow 相同的虚拟环境中才能正常工作。在这种情况下 tf_env 通过运行 source /anaconda3/bin/activate tf_env

您可以通过运行来检查安装

$ python3 -c "import tensorflow as tf; print(tf.__version__)"
1.14.0

答案 2 :(得分:1)

降级TensorFlow可以说不是最佳选择。从源代码安装可能会产生一些初始开销,但从长远来看会有所回报。如果您正在寻找有关通过大多数CPU优化来从源代码构建二进制文件的说明,this article可能会有所帮助。

答案 3 :(得分:1)

我在PC /赛扬N4000上看到相同的消息。

$ python3 -c "import tensorflow as tf; print(tf.__version__)"
Illegal instruction (core dumped)

我在没有AVX指令的情况下成功构建了TensorFlow v1.14.0。 (只需在CeleronN4000上构建TensorFlow)

$ python3 -c "import tensorflow as tf; print(tf.__version__)"
1.14.0

我在下面写了日志。
https://github.com/naruai/wiki/blob/master/TensorFlow/BuildTensorFlowWOAVX.md

就我而言,使用的是Python 3.6.8。
我还使用Python 2.7进行了测试。
关于Python 3.5,我没有经过测试。
我想也许可以使用类似的方式。