MKL๊ณผ ํจ๊ป ์๋์ฝ๋ค๋ฅผ ์ฌ์ฉํ๊ณ sklearn์ ๋น๋ํ๋ ค๊ณ ํ ๋
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.
๋๊ฐ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ค๋ช ํ ์ ์์ต๋๊น? / ์ด๋ป๊ฒ ๊ตฌ์ถํด์ผ ํฉ๋๊น?
์ด๋ป๊ฒ ์ค์นํ์ต๋๊น?
๋ผ์ด์ผ์ค ํ์ผ์ ์ถ๊ฐํ๊ณ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
conda ์
๊ทธ๋ ์ด๋(๋๋ ์ด์ ์ ์ฌํ ๊ฒ)
๋๋ ๊ทธ๋ ๊ฒํ๋๋ฐ mkl๋ก numpy๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ sklearn์ ์ปดํ์ผํ๋ ค๊ณ ํ๋ฉด ๊ฐ์ ธ์ฌ ๋ ์ฐ๊ฒฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ง์ญ ํ์ด์ฌ ๋ฐ ์๋์ฝ๋ค์ ์ถฉ๋ํ ์ ์์ต๋๋ค.
์ค์ ํ๋ ๋์ :(
ํ , LD_LIBRARY_PATH๋ ๋ญ๊ฐ๋ฅผ ์ค์ ํด์ผ ํ ๊น์?
๋๋ ๋ด ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ์ต๋๋ค.
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/u/kkastne/miniconda/lib/
๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐพ์ผ๋ฉด ์์๊ฐ ์ค์ํ ์ ์์ง๋ง
ํ์ด์ฌ์ด ๋จผ์ ์ค์น๋ฉ๋๋ค.
2015๋
7์ 29์ผ ์์์ผ ์คํ 5:01 Andreas Mueller [email protected]
์ผ๋ค:
ํ , LD_LIBRARY_PATH๋ ๋ญ๊ฐ๋ฅผ ์ค์ ํด์ผ ํ ๊น์?
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -126094651
.
๊ทธ๊ฒ์ ์์คํ numpy์ LD_LIBRARY_PATH๋ฅผ ์์ ์กฐํฉ์ด์์ต๋๋ค... ํญ์ ์ฆ๊ฑฐ์ด ์๊ฐ์ด์์ต๋๋ค. ์์์ ๋ํด ์ฃ์กํฉ๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. @amueller Noob ์ง๋ฌธ:
๋ด ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ๊ธฐ ์ํด ์๋์ฝ๋ค์์ pyinstaller๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํน์ ์ปดํจํฐ์์ ์คํํ๋ฉด ์์์ ์ธ๊ธํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ํ์์ ๊ฒฝ์ฐ $LD_LIBRARY_PATH๋ฅผ ์์ฝํ๋ฉด ์์คํ ๊ด๋ฆฌ์๊ฐ ์ผ๋ถ ํ๋ก๊ทธ๋จ์ด ์๋ํ๋๋ก ์ค์ ํ ๋ช ๊ฐ์ง ๊ฒฝ๋ก๊ฐ ํ์๋ฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ aconda lib ๊ฒฝ๋ก๋ก ์ค์ ํ๊ณ ๋น์ ๋๋ ค๊ณ ํ์ง๋ง ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํฉ๋๋ค.
์๋ก์ด ์ค๋ฅ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฐฉ๊ธ Travis ์ธ์คํด์ค์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋ฌธ์ ๋ ์ธ์ ๋ฐ์ํฉ๋๊น? ์ ๊ฒฝ์ฐ์๋ conda install numpy๋ก ์ค์นํ ์ ์์๊ณ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ ํ pyinstaller๋ฅผ ์ฌ์ฉํ์ฌ ๋จ์ผ ํ์ผ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์์ฑํ์ต๋๋ค. ์คํ ํ์ผ์ ์ค์ ๋ก ์ฌ์ฉํ ๋ ์ด๋ค ์์ ์์ ์ผ๋ถ 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.
ํธ๋๋น์ค์์๋. ๋ด๊ฐ ์์งํ ์ ์์๋ ๊ฒ์ numpy 1.10.2๊ฐ ์ผ๋ถ mkl ํญ๋ชฉ์ ๋๋ฝํ๊ธฐ ๋๋ฌธ์ ๋๋ค. numpy 1.10.4๋ ๊ด์ฐฎ์์ต๋๋ค. ์ด๊ฒ์ https://github.com/scikit-learn/scikit-learn/pull/6508#issuecomment -194908920์ ๊ธฐ๋ก๋์ด
๊ธฐ๋ก์ ์ํด ์๋์ฝ๋ค(MKL ํฌํจ ๋๋ ์ ์ธ)๋ก scikit-learn์ ๋น๋ํ๊ธฐ ์ํด LD_LIBRARY_PATH๋ฅผ ์ค์ ํ ํ์๊ฐ ์์์ต๋๋ค.
@clacri ๋ scikit-learn๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ์ ๋๊น? ๊ทธ๋ ์ง ์๋ค๋ฉด pyinstaller๋ Biopython ์ฌ๋๋ค์๊ฒ ์ง๋ฌธ์ ํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค...
๋ด๊ฐ ์์งํ ์ ์์๋ ๊ฒ์ numpy 1.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.
์๋, ๋น์ ๋ง์ด ๋ง์. ๋๋ ๊ทธ๋ค์ ๋ฌธ์ ๋ชฉ๋ก์ ๊ฒ์ํด์ผํฉ๋๋ค. ์ฌ๊ธฐ์์ ์ง์ ํ ์ค๋ฅ๊ฐ ๋๊ฐ๊ณ , ์์ฝ๋ค๋ฅผ ์ฌ์ฉํ๋ค๊ฐ๋ ๋ณธ ๊ฒ ๊ฐ์์ ๊ด๋ จ์ด ์์ง ์์๊น ํ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ๋ค๋ฅธ mkl ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋น์ทํ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์์ pyinstaller ํ๋ก์ ํธ์ ๋ํด ์ด๋ฏธ ์ง๋ฌธํ์ต๋๋ค. ์ด์จ๋ ์๋์ฝ๋ค์์ ๋ด numpy ๋ฒ์ ์ ํ์ธํ๋๋ฐ 1.10.4์ ๋๋ค. ์ด์จ๋ ๊ฐ์ฌํฉ๋๋ค :)
๊ธฐ๋ก์ ์ํด ์ฐธ์กฐ๋ ๋๊ธ์ ํ์ํ๋ฉด์ Anaconda ๋ธ๋ก๊ทธ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ mkl ๋ฒ์ ์ ๋นํ์ฑํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ ๊ฒ์๋ฌผ์ ์ฐพ์์ต๋๋ค(https://www.continuum.io/blog/developer-blog/anaconda-25 -release-now-mkl-optimizations) ์ด์ ์ต์ํ ์์ ๋ฒ์ ์ ์ปดํ์ผํ ์ ์์ต๋๋ค. ๊ฐ์ฌ ํด์!
๋์๊ฒ ๊ฐ์ ๋ฌธ์ ๋๋ฌธ์ conda install nomkl๋ก mkl์ ๋๋๋ค. ๋๋ ์ง๊ธ ํ๋ณตํ๋ค. ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ๋ค์ ์ผค ์ ์๋๋ก ๊ณต์ ํด ์ฃผ์ธ์. ์ด ๋ฌธ์ ๋ฅผ ์์ธํ ์ค๋ช ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ ๋ฌธ์
์์ ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ์ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๊ฐ์ฌ ํด์.
์ ์ด๋ ๋์๊ฒ๋ ์ด์ ํด๊ฒฐ๋์์ต๋๋ค. ์๋ก์ด numpy 11๋ก ์๋ํด ๋ณผ ์ ์์ต๋๋ค.
2016๋
4์ 27์ผ ์์์ผ ์คํ 10์ 42๋ถ์ gjzhu [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๊ฐ์ ๋ฌธ์ . ์ด๋ป๊ฒ ๋์ฒํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -215292024
์ฑ์ง (์ ์์ค) ๊น, PhD
Postdoc, ํ๋ฒ๋ CCB
[์น] http://aspuru.chem.harvard.edu/james-sungjin-kim/
[๋งํฌ๋์ธ] https://www.linkedin.com/in/jamessungjinkim
[ํ์ด์ค๋ถ] https://www.facebook.com/jamessungjin.kim
[๋์ฒด์ด๋ฉ์ผ] jamessungjin. [email protected]
conda install numpy
๋๋ฅผ ์ํด ์ค๋ฅ ์์
์ข์. ์ด์ ์ ์ธ๊ธํ๋ฏ์ด ์ ์๊ฒ๋ ํจ๊ณผ์ ์ ๋๋ค.
2016๋ 5์ 3์ผ ํ์์ผ ์ค์ 11์ 26๋ถ์ alinabee [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์ฝ๋ค ์ค์น numpy
๋๋ฅผ ์ํด ์ค๋ฅ ์์ โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -216563766
์ฑ์ง (์ ์์ค) ๊น, PhD
Postdoc, ํ๋ฒ๋ CCB
[์น] http://aspuru.chem.harvard.edu/james-sungjin-kim/
[๋งํฌ๋์ธ] https://www.linkedin.com/in/jamessungjinkim
[ํ์ด์ค๋ถ] https://www.facebook.com/jamessungjin.kim
[๋์ฒด์ด๋ฉ์ผ] jamessungjin. [email protected]
์๋ ,
๊ธฐ๋ณธ์ ์ผ๋ก mkl์ด ํ์ฑํ๋ ์ํ๋ก ์ ๊ณต๋๋ Anaconda 4.0.0์ ์ด ๋ฌธ์ ๊ฐ ์์์ ์๊ณ ์ถ์์ต๋๋ค.
๋ฌธ์ ๋ ์ค์ ๋ก Anaconda์ ์์ต๋๋ค. @pcgreat์ด ์์์ ์ ์ํ python sklearn ํ
์คํธ๋ก ์ฌํํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
์ค์ ๋ฌธ์ ๋ 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'
$
๋ฌธ์ ์ธ์ฌ,
์ผ๋๋ฅด.
๋๋ฌด ๋ฉ์ง ์๋ฃจ์ ์๊ฐ์ ๋๋ค.
2016๋ 5์ 11์ผ ์์์ผ ์ค์ 7:00 yanirj [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์๋ ,
Anaconda 4.0.0์
๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ฌธ์ ๋ ์ค์ ๋ก Anaconda์ ์์ต๋๋ค.
@pcgreat์ด ์์์ ์ ์ํ python sklearn ํ ์คํธ
https://github.com/pcgreat.์ค์ ๋ฌธ์ ๋ Anaconda๊ฐ mkl๊ณผ ์ฐ๊ฒฐ๋์์ง๋ง
libmkl_core.so, ๋ฐ๋ผ์ ๋๋ฝ๋ ๊ธฐํธ๊ฐ ์์ผ๋ฉฐ ๋ค์์ ์คํํ์ฌ ๋ณผ ์ ์์ต๋๋ค.$ LD_DEBUG=symbols python -c '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 'sklearn.linear_model.tests.test_randomized_l1 ๊ฐ์ ธ์ค๊ธฐ'
์ธํ MKL ์น๋ช ์ ์ค๋ฅ: libmkl_avx.so ๋๋ libmkl_def.so๋ฅผ ๋ก๋ํ ์ ์์ต๋๋ค.
$$ LD_PRELOAD=/opt/anaconda/lib/libmkl_core.so python -c 'sklearn.linear_model.tests.test_randomized_l1 ๊ฐ์ ธ์ค๊ธฐ'
$๋ฌธ์ ์ธ์ฌ,
์ผ๋๋ฅด.โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -218427199
์ฑ์ง (์ ์์ค) ๊น, PhD
Postdoc, ํ๋ฒ๋ CCB
[์น] http://aspuru.chem.harvard.edu/james-sungjin-kim/
[๋งํฌ๋์ธ] https://www.linkedin.com/in/jamessungjinkim
[ํ์ด์ค๋ถ] https://www.facebook.com/jamessungjin.kim
[๋์ฒด์ด๋ฉ์ผ] jamessungjin. [email protected]
์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ํจํค์ง๋ฅผ ์ฌ์ฉํ์์๋ ๋ถ๊ตฌํ๊ณ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์๋ฃจ์
์ ๋ด๊ฐ ์๊ฐํ๋ ๊ฒ๋ณด๋ค ์ฌ์ ์ต๋๋ค. ์ด์ ๊ฐ ๋ฌด์์ด๋ Anaconda๋ numpy/scipy ์คํ์ MKL ์ง์ ๋ฒ์ ์ ์ค์นํ์ง๋ง ์ค์ ๋ก mkl
์์ฒด๋ฅผ ์ค์นํ์ง๋ ์์์ต๋๋ค. Jupyter ์ต์ ๋
ธํธ๋ถ ์คํ์ ๊ธฐ๋ฐ์ผ๋ก Docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ๋ ์ด๊ฒ์ ๋ณด์์ต๋๋ค.
๊ฐ๋จํ conda install --yes mkl mkl-service
ํด๊ฒฐํ์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ฏธ๋ฆฌ ๋ก๋๋ ipython ํฐ๋ฏธ๋์ ์ด ๋ pca ๋ฃจํด ์ค ํ๋๋ฅผ ์คํํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
:
/home/rp2801/anaconda2/bin/python: ๊ธฐํธ ์กฐํ ์ค๋ฅ: /home/rp2801/anaconda2/lib/libmkl_core.so: ์ ์๋์ง ์์ ๊ธฐํธ: mkl_serv_get_max_threads
๋ด ipython ํฐ๋ฏธ๋์ ๋ค์๊ณผ ๊ฐ์ด ์ด์์ต๋๋ค.
$ LD_PRELOAD=/๊ฒฝ๋ก/to/libmkl_core.so ipython
https://www.continuum.io/blog/developer-blog/anaconda-25-release-now-mkl-optimizations
์ด ๋งํฌ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค
๋๋ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. MKL์ ์ ๊ฑฐํ๋ ๋์ ๋น๋๋ ์ด์ cvxopt๋ก ์ ํํ๋ ๋์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์ฝ๋ค ์ค์น cvxopt=1.1.8=py35_0
๋ฌธ์ ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํด๊ฒฐํ์ต๋๋ค. https://docs.continuum.io/mkl-optimizations/ ํํ ๋ฆฌ์ผ์
๋๋ค.
๋ช
๋ น:
์ฝ๋ค ์
๋ฐ์ดํธ ์ฝ๋ค
์ฝ๋ค ์
๋ฐ์ดํธ ์๋์ฝ๋ค
์ฝ๋ค ์
๋ฐ์ดํธ mkl
numpy: 1.11.2
์์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ ๋ค์์ ์ํด ์ฌํ๋ ์ ์์ต๋๋ค.
$ python -c 'import sklearn.linear_model.tests.test_randomized_l1'
์ธํ
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)? ์์ด
์ฒจ๊ฐ
numpy๋ฅผ np๋ก ๊ฐ์ ธ์ค๊ธฐ
์คํฌ๋ฆฝํธ ์์ ๋ถ๋ถ์์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค :-)
nomkl๋ก MKL์ ๋นํ์ฑํํ๊ณ ์ถ์ง ์์์ต๋๋ค.
์ฒจ๊ฐ
import mkl
mkl.get_max_threads()
๋๋ฅผ ์ํด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
conda install numpy
๋๋ฅผ ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
์ฝ๋ค ์ค์น -c ์ธํ mkl
๋๋ฅผ ์ํด ์ผํ๋ค
์ฝ๋ค ์ค์น numpy
๋๋ฅผ ์ํด ๋ฌธ์ ๋ ํด๊ฒฐํ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
conda install numpy
๋๋ฅผ ์ํด ์ค๋ฅ ์์