从 Matlab 调用 Python 时英特尔 MKL 错误

问题描述 投票:0回答:0

我一直在用 Python 工作,但现在我不得不和一个在 Matlab 工作的同事分享一个函数。由于事情很复杂,调用编译的 C 代码等。我认为从 Matlab 调用 Python 代码更容易。

这条线之前的一切似乎都很好:

points = np.random.multivariate_normal(means, correlation, nSamples)

我得到错误:

Intel MKL ERROR: Parameter 12 was incorrect on entry to DGBBRDM.

Intel MKL ERROR: Parameter 10 was incorrect on entry to DGESDD.
init_gesdd failed init

并且执行顺利进行,点是 zeroes 的数组。

当然,当直接运行 Python 代码时(来自同一个 conda env),我得到了多元正态样本。

四处搜索,我只找到提到代码编译方式、链接方式以及可能是 C 或 Fortran 接口的解决方案。在这里我没有编译任何东西,我不明白为什么中间的 Matlab 步骤会弄乱 numpy 使用的库。

我在 Anaconda 指南 上找到了一些相关的东西,但似乎是特定于 Windows 的,并且提到了与 Matlab 不同的软件,所以我什至不确定是否是同一个问题。

一个(也许)类似问题的答案建议

conda config --add channels intel
conda update --all

但这也没有帮助。

总的来说,与同事共享某些功能似乎不是一种方便的方式....

python numpy matlab intel-mkl
© www.soinside.com 2019 - 2024. All rights reserved.