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

Я использую PIP для установки Scipy с MKL для повышения производительности. Моя ОС — Ubuntu 64 бит. Используя решение из этого вопроса, я создаю файл .numpy- сайт.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 вручную, поэтому кто-нибудь может подсказать, как это исправить.


person tndoan    schedule 24.02.2014    source источник
comment
Вы пробовали с export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64:$LD_LIBRARY_PATH ?   -  person Gabriele Salvatori    schedule 24.02.2014
comment
Я уже пробовал этот вариант. Тем не менее, ошибка все еще внутри. Я не знаю, как это исправить.   -  person tndoan    schedule 25.02.2014
comment
Вы должны проверить, действительно ли эти библиотеки существуют в указанных местах с помощью library_dirs и include_dirs. Может быть много причин, почему это не так. Наиболее очевидные из них заключаются в том, что вы установили более старую/новую версию Intel Studio или установили компилятор и библиотеки не в папку по умолчанию.   -  person Felix Crazzolara    schedule 23.11.2019


Ответы (7)


Intel публикует такие пакеты, как Numpy, Scipy и Scikit-learn для PyPI. Эти колеса были созданы при компоновке с Intel MKL и включают в себя различные оптимизации.

Если вы хотите, чтобы Scipy был построен с помощью Intel MKL:

#Remove existing Numpy and/or Scipy:
pip uninstall numpy scipy -y
#Install scipy built with Intel MKL:
pip install intel-scipy

Дополнительная информация доступна здесь

person t7t0t0t7t    schedule 19.06.2018
comment
Это не работает с марта 2019 года для Python 3.7. Pip не находит intel-scipy в репозитории. - person AmphotericLewisAcid; 28.03.2019
comment
У меня был python 3.6.9, и он работал. Вам также может понадобиться получить файл llibpython. apt install libpython3.6. Я проверил свою установку внутри Python с помощью numpy.show_config() - person 0-_-0; 11.03.2020

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

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

  • Шаг 1: Удалите, если у вас есть какая-либо предыдущая версия numpy, pip удалите 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

Сделанный!

person Prabhu    schedule 23.07.2017
comment
то есть для окон. чувак. - person Zuoanqh; 30.11.2017
comment
Большое спасибо, приятель, отличный ответ и отличное представление. - person Madhur Yadav; 02.08.2018

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

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

pip install --upgrade pip
pip install numpy scipy

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

person rscohn2    schedule 30.10.2016
comment
Для Ubuntu нет колеса, которое использует OP. Лучшим выбором будет Анаконда. - person Aniket Chowdhury; 14.07.2017

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

Шаг 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"

person Amir Md Amiruzzaman    schedule 08.07.2017
comment
Пожалуйста, дайте мне знать, что вы сделали? Вы выполнили шаги, которые я предложил? - person Amir Md Amiruzzaman; 12.07.2017
comment
Извиняюсь. Это так долго. Я больше не использовал этот сервер, поэтому не могу применить ваше решение. - person tndoan; 21.07.2017
comment
ОП прямо сказал Ubuntu. - person Zuoanqh; 30.11.2017

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

Мой обходной путь:

Первый: pip install wheel

Далее: Загрузите Numpy и Scipy из репозитория Gholke Numpy и SciPy

Потом:

pip install numpy_package.whl

pip install scipy_package.whl

person Andreas GS    schedule 31.10.2016

Поскольку на сам вопрос не было ответа, позвольте мне попробовать...

Я думаю, что проблема здесь в основном заключается в том, что используемые библиотеки 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

person Kenneth Hoste    schedule 30.10.2016

Для меня MKL поставляется с библиотекой Scipy от conda install scipy

Решение @rscohn2 дало мне подсказку по использованию пакетов.

Для справки, моя среда включает Ubuntu, Anaconda, Python 3.6, Scipy 1.1 и MKL 2018.0.

person Cloud Cho    schedule 08.06.2018