Установите Scipy с MKL через PIP

Я использую PIP для установки Scipy с MKL для ускорения производительности. Моя ОС - 64-битный Ubuntu. Используя это решение question, я создаю файл .numpy-site.cfg

[mkl]
library_dirs=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64/
include_dirs=/opt/intel/mkl/include/
mkl_libs=mkl_intel_lp64,mkl_intel_thread,mkl_core,mkl_rt
lapack_libs=

Этот файл помогает мне успешно установить Numpy с MKL. Однако, используя тот же самый файл, установка Scipy вызывает ошибку

ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory

Я также использую

export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64

но проблема остается прежней.

Кто-нибудь знает, как исправить эту проблему? Я не хочу устанавливать Scipy вручную, чтобы кто-нибудь дал мне некоторые подсказки, чтобы исправить это.

Ответы

Ответ 1

У меня есть Win10 64Bit с Python 3.6.2, я установил scipy через http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Я выполнил следующие шаги:

  • Шаг 1: удалите, если у вас есть предыдущая версия numpy,      pip uninstall numpy
  • Шаг 2: Загрузите numpy-1.13.1 + mkl-cp36-cp36m-win_amd64.whl с MKL (Библиотека математического ядра) по ссылке ниже,      http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
  • Шаг 3: скопируйте загруженный файл в другое место и запустите команду из этого местоположения.
  • Шаг 4: запустите эту команду,      pip install -U numpy-1.13.1 + mkl-cp36-cp36m-win_amd64.whl
  • Шаг 5: Теперь загрузите библиотеку scipy из,      http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  • Шаг 6: Скопируйте загруженный файл в то же место, где numpy скопированы.
  • Шаг 7. В командной строке CMD запустите этот cmd,      pip install scipy-0.19.1-cp36-cp36m-win_amd64.whl

Готово!

Ответ 2

Если у вас возникли проблемы с установкой или запуском с определенной версией, сначала удалите, а затем установите

Шаг 1:

pip uninstall -v numpy

Шаг 2: загрузите файл колеса и установите

pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl

В этом примере имя файла колеса "numpy-1.13.0 + mkl-cp36-cp36m-win_amd64.whl"

Ответ 3

Прошло 2 года с тех пор, как был задан этот вопрос.

Теперь для linux теперь есть диски с numpy/scipy, которые используют openblas, скомпилированные для avx2, поэтому вы можете получить гораздо лучшую производительность без создания пакетов. Вам может потребоваться обновить пипс, чтобы установить его на колесо:

pip install --upgrade pip
pip install numpy scipy

Если вы хотите MKL, то вы можете установить Anaconda или Intel Distribution для Python. Они используют conda вместо pip для управления пакетами, но они бесплатны и распространяют пакеты, которые содержат все зависимости, включая MKL.

Ответ 4

Я столкнулся с этой проблемой последние несколько недель: Windows 10 64-разрядный Python 3.5.2

Мое обходное решение:

Сначала: pip install wheel

Далее: Загрузка Numpy и Scipy формы Gholke repo Numpy и SciPy

Тогда:

pip install numpy_package.whl

pip install scipy_package.whl

Ответ 5

Поскольку сам вопрос не получил ответа, позвольте мне сделать снимок...

Я думаю, что проблема здесь в основном заключается в том, что используемые библиотеки BLAS/LAPACK распределены по нескольким адресам, а numpy не справляется с этим.

Мы установили это в EasyBuild, где некоторое время мы строили numpy/scipy поверх Intel MKL с этим патчем: https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/n/numpy/numpy-1.8.1-mkl.patch