尝试导入tensorflow时出现非法硬件指令

时间:2018-03-16 19:03:58

标签: python tensorflow virtualenv python-3.6 illegal-instruction

我刚刚使用virtualenv方法的说明安装了tensorflow。安装过程顺利进行,所以我认为那里没有任何问题。安装完成后,我继续尝试导入它以验证一切正常,并收到以下消息:

[1]    4492 illegal hardware instruction (core dumped)  python

这是在我使用python交互式控制台使用以下命令后发生的:

import tensorflow as tf

我尝试使用pip链接重新安装它,但没有成功。

我用:

创建了virtualenv
python3.6 -m venv venv

在此之后没有工作(因为它产生了相同的错误)我尝试了:

virtualenv --system-site-packages -p python3.6 venv

我得到了同样的结果。

我用来安装tensorflow的命令是:

pip install tensorflow

如您所见,我打算安装仅限CPU的版本。

我读过一些关于显示此消息的其他框架和技术,但硬件没有实现指令,因此除了获取新硬件之外没有任何关系。

有什么方法可以解决这个问题吗?我已经尝试了一些不同的安装方法,但没有一个看到工作

至于系统规格:

OS = Ubuntu 16.04 x64 LTS
Python = Python 3.6
pip version = 9.0.1
tensorflow version = TensorFlow 1.6.0
CPU = Intel Core 2 Quad Q6600  @2.40GHz
OBS:我在这台机器上确实有一个GPU,但我不认为它会运行张量流,因为它有点老了。它是Nvidia 8800 GTS 512。

我感谢您的帮助,如果有任何遗漏信息,请告知我们。

1 个答案:

答案 0 :(得分:1)

我刚刚发现了这个:

Illegal instruction (core dumped) after running import tensorflow

此问题似乎是由一些指令在一些旧处理器( AVX指令集)中未实现的硬件引起的。由于它们没有在硬件中实现,因此没有真正解决此问题的方法。

如果我理解正确,并且解决方法是将张量流从ngOnInit() { this.heroes$ = this.route.paramMap .switchMap((params: ParamMap) => { this.selectedId = +params.get('id'); return this.service.getHeroes(); }); } 降级到1.6.0,这也适用于GPU版本。它对我有用。

我现在将此标记为已回答,但如果有人知道如何让版本1.5.0正常工作,请告知我们。