为什么不能导入张量流?

时间:2018-04-04 18:28:24

标签: python tensorflow

我刚刚安装了Tensorflow,我正在尝试在Python中运行test program来验证安装。当我运行程序时,通常没有任何反应。 Spyder IDE曾几次崩溃。这是测试程序:

print('test before')
import tensorflow as tf
print('test after')
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

有趣的是,在导入tensorflow运行之前的所有行,即“test before”打印。但是,程序似乎在导入tensorflow时遇到了麻烦,因为“test after”没有打印出来。为什么程序无法成功导入tensorflow?

另外,请注意,tensorflow安装似乎已经成功,因为最后它打印了“Successfully installed tensorflow-1.7.0”。运行程序时不会出现错误。通常如果在导入包时出现问题,则会出现错误,例如“无法找到[包]”。在这种情况下,程序只运行几秒钟然后停止(或IDE崩溃)而不返回错误。运行python3 -c 'import tensorflow'时,它会显示错误Illegal instruction (core dumped)

Tensorflow版本:1.7.0 Python版本:3.5.2 使用Spyder IDE 操作系统:ubuntu 16.04 LTS

1 个答案:

答案 0 :(得分:0)

事实证明,较新版本的TensorFlow使用旧CPU不支持的AVX指令。在GitHub issue和之前的Stack Overflow question中讨论了此问题。解决方案是将TensorFlow降级到版本1.5,我使用以下命令将其降级:

pip3 uninstall tensorflow
pip3 install tensorflow==1.5

降级到1.5后,测试代码工作正常。