【问题标题】:cvxopt errors out when multiplying a scalar to a matrix将标量与矩阵相乘时出现 cvxopt 错误
【发布时间】:2017-02-11 08:07:25
【问题描述】:
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul  2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from cvxopt import matrix
>>> 2 * matrix(1.0, (1, 4))
Intel MKL FATAL ERROR: Cannot load libmkl_avx.so or libmkl_def.so

运行上述脚本时,我收到 Intel MKL 致命错误。有类似错误的问题中提到的测试通过了。测试是

python -c 'import sklearn.linear_model.tests.test_randomized_l1'

我用LD_DEBUG=symbols 运行 python 并在日志中看到以下错误

/opt/anaconda3/lib/python3.5/site-packages/cvxopt/../../../libmkl_avx.so: error: symbol lookup error: undefined symbol: mkl_sparse_optimize_bsr_trsm_i8 (fatal)

有谁知道如何解决这个问题?我有兴趣保留 mkl 选项而不是 nomkl 选项

注意mkl 已安装并且是最新版本,scikit-learn 也是如此

【问题讨论】:

    标签: python anaconda intel-mkl cvxopt


    【解决方案1】:

    我在http://scikit-learn.org/stable/modules/linear_model.html 上运行示例时遇到了这个问题。显然一堆库没有被自动加载。以下是我目前使用的手动加载,可能需要其他手动加载,具体取决于您在做什么。对我来说,它确实解决了问题中的一个测试用例。

    CONDA_LIB=$CONDA_PREFIX/../../lib
    LIBS=$CONDA_LIB/libmkl_intel_thread.so:$CONDA_LIB/libmkl_avx.so:$CONDA_LIB/libmkl_core.so:$CONDA_LIB/libiomp5.so:/lib/libgomp.so
    LD_PRELOAD=$LIBS python
    

    【讨论】:

      【解决方案2】:

      您的 anaconda 安装中可能缺少 mkl 包。

      a) 您可以尝试完全升级 anaconda:

      conda upgrade anaconda
      

      b) 或者,您可以显式安装 mkl:

      conda install mkl
      

      我没有检查 a),但使用了 b)。在这种情况下,您可能还需要升级 sklearn 模块:

      conda upgrade scikit-learn
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-04
        • 1970-01-01
        • 2015-06-20
        • 2021-12-25
        • 1970-01-01
        • 2016-09-25
        相关资源
        最近更新 更多