python - Instale Scipy con MKL a través de PIP
linux intel-mkl (7)
Estoy usando PIP para instalar Scipy con MKL para acelerar el rendimiento. Mi sistema operativo es Ubuntu 64 bit. Usando la solución de esta question , creo un archivo .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=
Este archivo me ayuda a instalar Numpy con MKL con éxito. Sin embargo, al usar el mismo archivo anterior, la instalación de Scipy genera el error
ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory
Yo tambien uso
export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64
Pero el problema sigue siendo el mismo.
¿Alguien sabe cómo resolver este problema? No quiero instalar Scipy manualmente para que alguien me dé algunos consejos para solucionarlo.
Como la pregunta en sí no fue respondida, permítame darle una oportunidad ...
Creo que el problema aquí básicamente es que las bibliotecas BLAS / LAPACK que se están utilizando se extienden en varias ubicaciones, y numpy no lo maneja bien.
Hemos solucionado esto en EasyBuild, donde hemos estado construyendo numpy / scipy sobre Intel MKL por un tiempo, con este parche: https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/n/numpy/numpy-1.8.1-mkl.patch
Han pasado 2 años desde que se hizo esta pregunta.
Ahora hay varias ruedas numpy / scipy para Linux que utilizan un openblas compilado para avx2, por lo que puede obtener un rendimiento mucho mejor sin crear paquetes. Es posible que necesite actualizar pip para que instale la rueda:
pip install --upgrade pip
pip install numpy scipy
Si desea MKL, puede instalar Anaconda o Intel Distribution for Python . Utilizan conda en lugar de pip para administrar paquetes, pero son gratuitos y distribuyen paquetes que contienen todas las dependencias, incluido MKL.
He enfrentado este problema las últimas semanas en: Windows 10 64 bit Python 3.5.2
Mi solución:
Primero: pip install wheel
Siguiente: Descargar Numpy y Scipy desde el repo de http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy and http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
Entonces:
pip install numpy_package.whl
pip install scipy_package.whl
Intel ha estado publicando ruedas de paquetes como Numpy, Scipy y Scikit-learn en PyPI. Estas ruedas se han construido al vincularse con Intel MKL e incluyen varias optimizaciones.
Si quieres que Scipy se construya con Intel MKL:
#Remove existing Numpy and/or Scipy:
pip uninstall numpy scipy -y
#Install scipy built with Intel MKL:
pip install intel-scipy
Para mí, MKL vino con la biblioteca conda install scipy
de conda install scipy
La solución @ rscohn2 me dio una pista para usar paquetes.
Para la referencia, mi entorno está incluido Ubuntu, Anaconda, Python 3.6, Scipy 1.1 y MKL 2018.0.
Si tiene problemas para instalar o ejecutar una versión específica, primero desinstale y luego instale
Paso 1:
pip uninstall -v numpy
Paso 2: descargar el archivo de rueda e instalar
pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl
En este ejemplo, el nombre del archivo de la rueda es "numpy-1.13.0 + mkl-cp36-cp36m-win_amd64.whl"
Tengo Win10 64Bit con Python 3.6.2. He instalado scipy en http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
Seguí los siguientes pasos:
- Paso 1: Desinstale si tiene alguna versión anterior de numpy, pip desinstale numpy
- Paso 2: descargue numpy ‑ 1.13.1 + mkl ‑ cp36 ‑ cp36m ‑ win_amd64.whl con MKL (Math Kernel Library) desde el siguiente enlace, http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
- Paso 3: copie el archivo descargado en otra ubicación e inicie el símbolo del sistema desde esa ubicación.
- Paso 4: ejecute este comando, pip instale -U numpy-1.13.1 + mkl-cp36-cp36m-win_amd64.whl
- Paso 5: Ahora descargue la biblioteca de scipy desde http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
- Paso 6: Copie el archivo descargado en la misma ubicación en la que se copia el número.
- Paso 7: En el indicador de CMD, ejecute este cmd, pip instale scipy-0.19.1-cp36-cp36m-win_amd64.whl
¡Hecho!