MKLã§anacondaã䜿çšããsklearnããã«ãããããšãããšã
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.
誰ããäœãèµ·ãã£ãŠããã®ã/ã©ã®ããã«æ§ç¯ããã®ã説æã§ããŸããïŒ
ã©ã®ããã«ã€ã³ã¹ããŒã«ããŸãããïŒ
ç§ã®å Žåã¯ããªãèªåã§ãã©ã€ã»ã³ã¹ãã¡ã€ã«ãè¿œå ããŠå®è¡ããã ãã§ã
ã³ã³ãã¢ããã°ã¬ãŒãïŒãŸãã¯ãã®ãããªãã®ïŒ
ç§ãããããŸããããããŠããã¯ç§ã«mklã§numpyãäžããŸãã ããããsklearnãã³ã³ãã€ã«ããããšãããšãã€ã³ããŒãæã«ãªã³ã¯ãšã©ãŒãçºçããŸãã
ããããªãã ãã¶ãããªãã®ããŒã«ã«pythonãšanacondaãšã®ç«¶å
ã»ããã¢ããäž:(
ããŒããå€åç§ã¯LD_LIBRARY_PATHãäœããèšå®ããå¿ èŠããããŸããïŒ
ç§ã¯ç§ã®ãããªãã®ã«èšå®ããŸãã
LD_LIBRARY_PATH = $ {LD_LIBRARY_PATH}ïŒ/ u / kkastne / miniconda / lib /
ãã ããä»ã®ã©ã€ãã©ãªããä»ã®ã©ã€ãã©ãªãèŠã€ãã£ãå Žåã¯ãé åºä»ããéèŠã«ãªãå¯èœæ§ããããŸãã
Pythonãæåã«ã€ã³ã¹ããŒã«ãããŸãã
5ïŒ01 PMã§æ°Žææ¥ã2015幎7æ29æ¥ã«ã¯ãã¢ã³ãã¬ã¢ã¹ã»ãã¥ãŒã©ãŒ[email protected]
æžããŸããïŒ
ããŒããå€åç§ã¯LD_LIBRARY_PATHãäœããèšå®ããå¿ èŠããããŸããïŒ
â
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -126094651
ã
ããã¯ãã·ã¹ãã numpyãšLD_LIBRARY_PATHãæ··åããçµã¿åããã§ãã...ãã€ã楜ããã§ã....ãã€ãºããè©«ã³ããŸãã
åãåé¡ãçºçããŠããŸãã @amueller Noobã®è³ªåïŒã©ãã§ããã¯ã¹ã¢ãããæ€çŽ¢ããŸããïŒ ïŒld_lib_pathïŒ
ç§ã¯åãåé¡ãæ±ããŠãããanacondaã§pyinstallerã䜿çšããŠããã°ã©ã ãã³ã³ãã€ã«ããŠããŸãã ç¹å®ã®ãã·ã³ã§å®è¡ãããšãäžèšã®ãšã©ãŒãçºçããŸãã ç§ã®å Žåã$ LD_LIBRARY_PATHããšã³ãŒãããšãã·ã¹ãã ãããŒãžã£ãŒãããã€ãã®ããã°ã©ã ãæ©èœãããããã«èšå®ãããã¹ãããã€ã衚瀺ãããŸãã ãããanacondalibãã¹ã«èšå®ãã空ã®ãŸãŸã«ããããšããŸãããããšã©ãŒãçºçãç¶ããŸãã
æ°ãããšã©ãŒããããšæããŸããtravisã€ã³ã¹ã¿ã³ã¹ã§ååŸããŸããã
åé¡ã¯ãã€çºçããŸããïŒ ç§ã®å Žåãconda install numpyã§ã€ã³ã¹ããŒã«ã§ãããšã©ãŒã¡ãã»ãŒãžã衚瀺ãããªãã£ãããã§ãã ãã®åŸãpyinstallerã䜿çšããŠ1ãã¡ã€ã«ã®ãã€ããªãæ£åžžã«çæããŸããã å®è¡å¯èœãã¡ã€ã«ãå®éã«äœ¿çšããŠãããšãã«ãããæç¹ã§ãBiopythonã³ãŒããåŒã³åºããšãšã©ãŒãçºçããŸãã ã§ããããå®è¡æã«ã³ãŒãããã¹ããããšãã«ãåé¡ãçºçããŠãããšæããŸãããïŒ
condaã®ã€ã³ã¹ããŒã«ã確èªãããšãlibmkl_avx2.soãšlibmkl_def.soã®äž¡æ¹ã$ home / anaconda2 / libãã©ã«ããŒã«ãããŸãã ãŸããpyintallerã¹ããã¯ãã¡ã€ã«ã«ãã€ããªãšããŠãã¡ã€ã«ãè¿œå ããããšããŸããããã©ããæ©èœããŸãã...
æ°ãããšã©ãŒããããšæããŸããtravisã€ã³ã¹ã¿ã³ã¹ã§ååŸããŸããã
@amuellerç§ã¯ãã®ãšã©ãŒãèŠãŸããïŒ
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.
ãã©ãã¹ã§ãã ç§ãåéã§ãããã®ãããããã¯numpy1.10.2ãããã€ãã®mklã®ãã®ã倱ã£ãããšãåå ã§ããã numpy1.10.4ã¯åé¡ãããŸããã§ããã ããã¯https://github.com/scikit-learn/scikit-learn/pull/6508#issuecomment-194908920ã«èšèŒãããŠã
èšé²ã®ããã«ãanacondaïŒMKLã®æç¡ã«ãããããïŒã䜿çšããŠscikit-learnãæ§ç¯ããããã«LD_LIBRARY_PATHãèšå®ããå¿ èŠã¯ãããŸããã§ããã
@clacriã¯scikit-learnã«é¢é£ããåé¡ã§ããïŒ ããã§ãªãå Žåã¯ãpyinstallerãŸãã¯Biopythonã®äººã ã«è³ªåããå¿ èŠãããããã§ã...
ç§ãåéã§ãããã®ãããããã¯numpy1.10.2ãããã€ãã®mklã®ãã®ã倱ã£ãããšãåå ã§ããã
ãããç§ã®ãã·ã³ã®åé¡ãåçŸããã¹ããããã§ãïŒ
conda create -n mkl --yes python=3.5 pip nose numpy=1.10.2 scipy=0.16.1 cython=0.23.4 mkl
. activate mkl
cd ~/dev/scikit-learn
make in
python -c 'import sklearn.linear_model.tests.test_randomized_l1'
Intel MKL FATAL ERROR: Cannot load libmkl_mc3.so or libmkl_def.so.
ãããããã®éãã§ãã ç§ã¯åœŒãã®åé¡ãªã¹ãã«æçš¿ããå¿ èŠããããŸãã ããã§ææããããšã©ãŒãåãã§ãããanacondaã䜿çšããŠãããšãã«ãåãã§ããããšãããã£ãã®ã§ãé¢é£ããŠããã®ã§ã¯ãªãããšæããŸããã ä»ã®mklã©ã€ãã©ãªã§ãåæ§ã®åé¡ãããããã«æãããããããã§ã«pyinstallerãããžã§ã¯ãã«ã€ããŠè³ªåããŸããã ãããã«ãããanacondaã§numpyããŒãžã§ã³ã確èªãããšããã1.10.4ã§ãã ãšã«ããããããšã ïŒïŒ
念ã®ãããåç §ãããŠããã³ã¡ã³ããåç §ããŠãAnacondaããã°ã§ãã©ã€ãã©ãªã®mklããŒãžã§ã³ãéã¢ã¯ãã£ãåããæ¹æ³ã説æããŠããæçš¿ãèŠã€ããŸããïŒhttps://www.continuum.io/blog/developer-blog/anaconda-25 -release-now-mkl-optimizationsïŒãããŠä»ã§ã¯å°ãªããšãåäœããããŒãžã§ã³ãã³ã³ãã€ã«ããããšãã§ããŸãã ããããšãïŒ
åãåé¡ãããã®ã§ãconda installnomklã§mklããªãã«ããŸãã ç§ã¯ä»å¹žãã§ãã ãã®åé¡ãä¿®æ£ãããå Žåã¯ãå床ãªã³ã«ã§ããããã«å ±æããŠãã ããã ãã®åé¡ã詳ãã説æããŠããã ãããããšãããããŸãã
åãåé¡
äžèšã®ãªã³ã¯ããã©ã£ãŠãç§ã®åé¡ã解決ããŸããã ããããšãã
å°ãªããšãç§ã«ãšã£ãŠã¯ãä»ã¯è§£æ±ºãããŸããã æ°ããnumpy11ã§è©Šãããšãã§ããŸãã
10ïŒ42 PMã§ã®æ°Žã2016幎4æ27æ¥ã«ã¯gjzhu [email protected]æžããŸããïŒ
åãåé¡ã ã©ã察åŠãããããã®ãããããªãã
â
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -215292024
ãœã³ãžã³ïŒãžã§ãŒã ãºïŒãã å士
ãã¹ãã¯ãããŒããŒã倧åŠã®CCB
[ãŠã§ã] http://aspuru.chem.harvard.edu/james-sungjin-kim/
[Linkedin] https://www.linkedin.com/in/jamessungjinkim
[Facebook] https://www.facebook.com/jamessungjin.kim
ã代æ¿ã¡ãŒã«ããžã£ã¡ãœã³ãžã³ã [email protected]
conda install numpy
ç§ã®ãšã©ãŒãä¿®æ£ããŸãã
è¯ãã åã«è¿°ã¹ãããã«ãããã¯ç§ã«ãšã£ãŠãæ©èœããŸãã
ç«ã2016幎5æ3æ¥ã«ã¯åå11æ26 AMã§alinabeeã®[email protected]ã¯æžããŸããïŒ
conda install numpy
ç§ã®ãšã©ãŒãä¿®æ£ããŸããâ
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -216563766
ãœã³ãžã³ïŒãžã§ãŒã ãºïŒãã å士
ãã¹ãã¯ãããŒããŒã倧åŠã®CCB
[ãŠã§ã] http://aspuru.chem.harvard.edu/james-sungjin-kim/
[Linkedin] https://www.linkedin.com/in/jamessungjinkim
[Facebook] https://www.facebook.com/jamessungjin.kim
ã代æ¿ã¡ãŒã«ããžã£ã¡ãœã³ãžã³ã [email protected]
ããã«ã¡ã¯ã
ããã©ã«ãã§mklãæå¹ã«ãªã£ãŠããAnaconda4.0.0ã«ã¯ããã®åé¡ãããããšã«æ³šæããŠãã ããã
åé¡ã¯ç¢ºãã«Anacondaã«ãããŸããããã¯ã@ pcgreatã«ãã£ãŠäžèšã§ææ¡ãããpythonsklearnãã¹ãã§åçŸã§ããããã§ãã
å®éã®åé¡ã¯ãAnacondaãmklãšãªã³ã¯ããŠããããlibmkl_core.soãšã¯ãªã³ã¯ããŠããªããããã·ã³ãã«ãæ¬ èœããŠããããã次ã®ã³ãã³ããå®è¡ãããšç¢ºèªã§ããŸãã
$ LD_DEBUG=symbols python -c 'import sklearn.linear_model.tests.test_randomized_l1' 2>&1 | grep -i error
2200: /opt/anaconda/lib/python2.7/site-packages/scipy/special/../../../../libmkl_avx.so: error: symbol lookup error: undefined symbol: mkl_dft_fft_fix_twiddle_table_32f (fatal)
ããã©ãŒãã³ã¹ãåäžããããã®ã§ãmklãã¢ã³ã€ã³ã¹ããŒã«ããããªãã£ãã®ã§ãå®è¡åã«libmkl_core.soãããªããŒããããšããåé¿çãèŠã€ããŸããã
$ python -c 'import sklearn.linear_model.tests.test_randomized_l1'
Intel MKL FATAL ERROR: Cannot load libmkl_avx.so or libmkl_def.so.
$
$ LD_PRELOAD=/opt/anaconda/lib/libmkl_core.so python -c 'import sklearn.linear_model.tests.test_randomized_l1'
$
ããããã
ã€ããŒã«ã
ããã¯ãšãŠãçŽ æŽããã解決çã®èãã§ãã
7:00ææ°Žæã2016幎5æ11æ¥ã«yanirj [email protected]æžããŸããïŒ
ããã«ã¡ã¯ã
mklãæå¹ã«ãªã£ãŠããAnaconda4.0.0ãä»å±ããŠããããšã«æ³šæããŠãã ããã
ããã©ã«ãã§ã¯ããã®åé¡ããããŸãã
åé¡ã¯ç¢ºãã«Anacondaã«ãããŸããããã¯ã
@pcgreatã«ãã£ãŠäžèšã§ææ¡ãããpythonsklearnãã¹ã
https://github.com/pcgreatãå®éã®åé¡ã¯ãAnacondaãmklãšãªã³ã¯ããŠãããããªã³ã¯ããŠããªãããšã§ãã
libmkl_core.soã§ãããããã·ã³ãã«ãæ¬ èœããŠããã次ã®ã³ãã³ããå®è¡ãããšè¡šç€ºãããŸãã$ LD_DEBUG = symbol python -c'import sklearn.linear_model.tests.test_randomized_l1 '2>ïŒ1 | grep-iãšã©ãŒ
2200ïŒ/opt/anaconda/lib/python2.7/site-packages/scipy/special /../../../../ libmkl_avx.soïŒãšã©ãŒïŒã·ã³ãã«ã«ãã¯ã¢ãããšã©ãŒïŒæªå®çŸ©ã®ã·ã³ãã«ïŒmkl_dft_fft_fix_twiddle_table_32fïŒèŽåœçïŒããã©ãŒãã³ã¹ãåäžããããã®ã§ãmklãã¢ã³ã€ã³ã¹ããŒã«ããããããŸããã§ããã
ã ããç§ã¯ç§ã®ããã«åããåé¿çãèŠã€ããŸãã-åã«libmkl_core.soãããªããŒãããŸã
å®è¡ã$ python -c'import sklearn.linear_model.tests.test_randomized_l1 '
Intel MKLèŽåœçãšã©ãŒïŒlibmkl_avx.soãŸãã¯libmkl_def.soãããŒãã§ããŸããã
$$ LD_PRELOAD = /opt/anaconda/lib/libmkl_core.so python -c'import sklearn.linear_model.tests.test_randomized_l1 '
$ããããã
ã€ããŒã«ãâ
ã³ã¡ã³ãããã®ã§ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -218427199
ãœã³ãžã³ïŒãžã§ãŒã ãºïŒãã å士
ãã¹ãã¯ãããŒããŒã倧åŠã®CCB
[ãŠã§ã] http://aspuru.chem.harvard.edu/james-sungjin-kim/
[Linkedin] https://www.linkedin.com/in/jamessungjinkim
[Facebook] https://www.facebook.com/jamessungjin.kim
ã代æ¿ã¡ãŒã«ããžã£ã¡ãœã³ãžã³ã [email protected]
ææ°ã®å©çšå¯èœãªããã±ãŒãžã䜿çšããŠããã«ãããããããåãåé¡ãçºçããŸããã 解決çã¯ç§ãæã£ãŠãããããç°¡åã§ãããäœããã®çç±ã§ãAnacondaã¯MKL察å¿ããŒãžã§ã³ã®numpy / scipyã¹ã¿ãã¯ãã€ã³ã¹ããŒã«ããŸããããå®éã«ã¯mkl
èªäœã¯ã€ã³ã¹ããŒã«ããŸããJupyterã®æå°éã®ããŒãããã¯ã¹ã¿ãã¯ã«åºã¥ããŠDockerã€ã¡ãŒãžãæ§ç¯ãããšãã«èŠããã®ã§ãã
åçŽãªconda install --yes mkl mkl-service
解決ããŸããã
ã©ã€ãã©ãªãããªããŒããããç¶æ
ã§ipythonã¿ãŒããã«ãéããŠãããšãããpcaã«ãŒãã³ã®1ã€ãå®è¡ãããšã次ã®ãšã©ãŒãçºçããŸããã
ïŒ
/ home / rp2801 / anaconda2 / bin / pythonïŒã·ã³ãã«ã«ãã¯ã¢ãããšã©ãŒïŒ/home/rp2801/anaconda2/lib/libmkl_core.soïŒæªå®çŸ©ã®ã·ã³ãã«ïŒmkl_serv_get_max_threads
ipythonã¿ãŒããã«ã次ã®ããã«éããŸãã
$ LD_PRELOAD = /path/to/libmkl_core.so ipython
https://www.continuum.io/blog/developer-blog/anaconda-25-release-now-mkl-optimizations
ãã®ãªã³ã¯ã¯åé¡ã解決ããŸãã
åããšã©ãŒãçºçããŠããŸããã 以åã«æ§ç¯ãããcvxoptãžã®MKLåãæ¿ããåé€ãã代ããã«ãç§ã«ãšã£ãŠãåé¡ã解決ããŸããã
conda install cvxopt = 1.1.8 = py35_0
ç§ã¯åé¡ãããŸã解決ããŸãããããã¯ãã¥ãŒããªã¢ã«https://docs.continuum.io/mkl-optimizations/ã§ã
ã³ãã³ãïŒ
ã³ã³ãã¢ããããŒãã³ã³ã
conda update anaconda
conda update mkl
numpy: 1.11.2
ã§ãåãåé¡ãçºçããŠããããšãããããŸãããããã¯ã
$ python -c 'import sklearn.linear_model.tests.test_randomized_l1'
Intel MKLèŽåœçãšã©ãŒïŒlibmkl_avx.soãŸãã¯libmkl_def.soãããŒãã§ããŸããã
numpyã1.11.1ã«ããŠã³ã°ã¬ãŒãããåŸããã®ãšã©ãŒã¯æ¶ããŸããã
conda install numpy=1.11.1
次ã®ããã±ãŒãžã¯ãäŸåé¢ä¿ã®ç«¶åã®ããã«ããŠã³ã°ã¬ãŒããããŸãã
numpyïŒ1.11.2-py35_0-> 1.11.1-py35_0
ç¶è¡ããŸããïŒ[y] / nïŒïŒ y
è¿œå ãã
numpyãnpãšããŠã€ã³ããŒãããŸã
ã¹ã¯ãªããã®åé ã§åé¡ã解決ããŸãã:-)
nomklã§MKLãç¡å¹ã«ããããããŸããã§ããã
è¿œå ãã
import mkl
mkl.get_max_threads()
ç§ã®ããã«ãã®åé¡ã解決ããŸããã
conda install numpy
ç§ã®ããã«åé¡ã解決ããŸããã
conda install -c intel mkl
ç§ã®ããã«åãã
conda install numpy
ç§ãåé¡ã解決ããŸããã
æãåèã«ãªãã³ã¡ã³ã
conda install numpy
ç§ã®ãšã©ãŒãä¿®æ£ããŸãã