2017-02-11 90 views
2
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 

運行上述腳本時,出現英特爾MKL致命錯誤。在類似錯誤問題中提到的測試已通過。該測試是將標量與矩陣相乘時出現cvxopt錯誤

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

我跑了蟒蛇與LD_DEBUG=symbols,看到下面的錯誤在日誌中

/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選項,而不是一個

注意mkl安裝nomkl,並在最新的版本,所以是scikit-learn

回答

0

的MKL包在你的Anaconda安裝可能丟失。

a)你可以嘗試完全升級蟒:

conda upgrade anaconda 

B)另外,您可以明確地安裝MKL:

conda install mkl 

我還沒查了),但使用B)。在這種情況下,你可能也需要升級sklearn模塊:

conda upgrade scikit-learn 
+0

再次閱讀問題 – rrao

2

我就遇到了這個,而在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