导入numpy导致Windows Server 2012R2 VM上的Python崩溃

时间:2019-08-22 10:49:09

标签: python python-3.x numpy

我的其中一台VM(Windows Server 2012R2)中的numpy(python版本3.7.1和numpy版本是1.16.1)有问题。我编写测试代码进行测试,并在执行 init 时使numpy崩溃。

当我使用pdb进入numpy的 init 时,当调用x的dot方法时,它在第208行崩溃: enter image description here 从输出中,它显示一个非法指令错误: enter image description here

由于某些无法正常运行的要求,我们必须使用numpy 1.16.1。有谁可以帮助解决这个问题?非常感谢。

更新: 我的测试代码非常简单,我主机的CPU是:Intel(R)Xeon(R)Gold 6152 CPU @ 2.10GHz enter image description here

1 个答案:

答案 0 :(得分:0)

故障是openblas库中的非法指令,该库是numpy使用的高度优化的lineair代数库。

Openblas可以构建为在运行时检测CPU功能,或者 可以构建为特定的CPU功能,例如AVX矢量指令。

我怀疑您的openblas副本是为使用CPU上没有的指令而构建的。您可能需要一个不同的openblas软件包(用于在运行时检测CPU功能)或什至另一个numpy软件包。