首页 > 解决方案 > Tensorflow 显然安装正常,但检查失败

问题描述

我正在使用 Debian 10.2 (buster) 并遵循https://www.tensorflow.org/install/pip?lang=python3上的程序,使用推荐的虚拟环境程序。一切正常,包括:

pip install --upgrade tensorflow

这会生成一堆进度消息,所有这些消息看起来都不错。最后一步是“验证安装:”

python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

我键入(仍在 venv 环境中)并生成消息:

Illegal instruction (core dumped)

没有其他的。没有任何提示说明出了什么问题。

我用gdb查看了核心转储,发现:

Program terminated with signal SIGILL, Illegal instruction.
#0  0x00007fafbfd99820 in nsync::nsync_mu_init(nsync::nsync_mu_s_*) () from
/home/me/venv/lib/python3.7/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so

标签: python-3.xtensorflow

解决方案


https://www.tensorflow.org/install/pip说:

从 TensorFlow 1.6 开始,二进制文件使用 AVX 指令

我的盒子外面写着“Core i7”,但我的 /proc/cpuinfo 给出了以下标志: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d

所以我得出结论它没有 avx 并且预构建的二进制文件需要它。因此,除了较新的计算机之外,预构建的二进制文件毫无用处。


推荐阅读