Scikit-learn: No entiendo cómo construir con anaconda / MKL

Creado en 29 jul. 2015  ·  36Comentarios  ·  Fuente: scikit-learn/scikit-learn

Cuando uso anaconda con MKL y trato de construir sklearn, obtengo

Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

¿Alguien puede explicar qué está pasando / cómo construir?

Comentario más útil

conda install numpy
Arreglado el error por mi

Todos 36 comentarios

¿Cómo lo instalaste?

es bastante automático ya que para mí solo necesito agregar un archivo de licencia y ejecutar
actualización de conda (o algo así)

Yo también hice eso, y eso me da numpy con mkl. Pero si luego intento compilar sklearn, obtengo errores de vinculación al importar.

tararear no lo sé. Tal vez un conflicto con su pitón y anaconda locales
durante la instalación :(

hm, ¿tal vez necesito configurar LD_LIBRARY_PATH o algo así?

Tengo el mío configurado en algo como

LD_LIBRARY_PATH = $ {LD_LIBRARY_PATH}: / u / kkastne / miniconda / lib /

aunque ordenar puede ser importante si encuentra otras bibliotecas de otros
Python se instala primero.

El miércoles 29 de julio de 2015 a las 5:01 p.m., Andreas Mueller [email protected]
escribió:

hm, ¿tal vez necesito configurar LD_LIBRARY_PATH o algo así?

-
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -126094651
.

fue una combinación de mezclar el sistema numpy y el LD_LIBRARY_PATH ... siempre es muy divertido ... perdón por el ruido.

Estoy teniendo el mismo problema. @amueller Pregunta de

Tengo el mismo problema, uso pyinstaller en anaconda para compilar mi programa. Cuando lo ejecuto en ciertas máquinas, genera el error mencionado anteriormente. En mi caso, si hago eco de $ LD_LIBRARY_PATH, veo un par de rutas que nuestro administrador del sistema estableció para que algunos programas funcionen. Intenté configurarlo en la ruta de anaconda lib y dejarlo vacío, pero sigue produciendo el error.

Creo que hay un nuevo error, lo acabo de recibir en una instancia de travis.

¿Cuándo ocurre su problema? Porque en mi caso, pude instalar conda install numpy y no recibí mensajes de error. Posteriormente, generé con éxito un binario de un archivo con pyinstaller. Es cuando realmente se usa el ejecutable que, en algún momento, una llamada a algún código de Biopython genera el error. Así que supongo que también tienes el problema al probar el código, en tiempo de ejecución, ¿verdad?

Si verifico mi instalación de conda, tanto libmkl_avx2.so como libmkl_def.so están allí, en la carpeta $ home / anaconda2 / lib. También intenté agregar los archivos como binarios en el archivo de especificaciones de pyintaller, pero ninguno de ellos funciona ...

Creo que hay un nuevo error, lo acabo de recibir en una instancia de travis.

@amueller He visto este error:

Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

en Travis también. Por lo que pude reunir, se debió a que a numpy 1.10.2 le faltaban algunas cosas de mkl. numpy 1.10.4 estuvo bien. Esto se señaló en https://github.com/scikit-learn/scikit-learn/pull/6508#issuecomment -194908920.

Para que conste, nunca tuve que configurar LD_LIBRARY_PATH para compilar scikit-learn con anaconda (con o sin MKL).

@clacri, ¿su problema está relacionado con scikit-learn? Si no, parece que debería hacer su pregunta al pyinstaller o a la gente de Biopython ...

Por lo que pude reunir, se debió a que a numpy 1.10.2 le faltaban algunas cosas de mkl.

Aquí hay un fragmento que reproduce el problema en mi máquina:

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.

No, tienes razón. Debería publicar en su lista de problemas. Es solo que vi que el error señalado aquí era el mismo y también mientras usaba anaconda, así que pensé que podría estar relacionado. Ya pregunté sobre el proyecto pyinstaller, porque parece tener un problema similar con otras bibliotecas mkl. En cualquier caso, verifiqué mi versión numpy en anaconda, y es 1.10.4. Gracias de cualquier manera :)

Solo para que conste, navegando a través de su comentario de referencia, encontré la publicación en el blog de Anaconda donde describen cómo desactivar las versiones mkl de las bibliotecas (https://www.continuum.io/blog/developer-blog/anaconda-25 -release-now-mkl-optimizations) y ahora al menos puedo compilar una versión funcional. ¡Gracias!

Debido al mismo problema para mí, apago mkl por conda install nomkl. Ahora estoy feliz. Si se soluciona este problema, compártelo con nosotros para que pueda volver a encenderlo. Gracias por elaborar este problema.

El mismo problema

Seguí el enlace de arriba y resolví mi problema. Gracias.

Estaba resuelto ahora al menos para mí. Puedes probar con el nuevo numpy 11.
El miércoles 27 de abril de 2016 a las 10:42 p.m., gjzhu [email protected] escribió:

El mismo problema. No sé cómo lidiar con eso.

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -215292024

Sungjin (James) Kim, Doctorado

Postdoctorado, CCB en Harvard

[email protected]

[Web] http://aspuru.chem.harvard.edu/james-sungjin-kim/

[Linkedin] https://www.linkedin.com/in/jamessungjinkim

[Facebook] https://www.facebook.com/jamessungjin.kim

[correo electrónico alternativo] jamessungjin. [email protected]

conda install numpy
Arreglado el error por mi

Bien. También me funciona como señalé antes.

El martes 3 de mayo de 2016 a las 11:26 a.m., alinabee [email protected] escribió:

conda instalar numpy
Arreglado el error por mi

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -216563766

Sungjin (James) Kim, Doctorado

Postdoctorado, CCB en Harvard

[email protected]

[Web] http://aspuru.chem.harvard.edu/james-sungjin-kim/

[Linkedin] https://www.linkedin.com/in/jamessungjinkim

[Facebook] https://www.facebook.com/jamessungjin.kim

[correo electrónico alternativo] jamessungjin. [email protected]

Hola,

Solo quería señalar que Anaconda 4.0.0, que se envía con mkl habilitado de forma predeterminada, tiene este problema.
El problema es de hecho con Anaconda, ya que se puede reproducir con la prueba de python sklearn sugerida anteriormente por @pcgreat.

El problema real es que Anaconda se vinculó con mkl, pero no con libmkl_core.so, por lo que le falta un símbolo y se puede ver ejecutando:

$ 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)

No quería desinstalar mkl, ya que me gustaría aumentar el rendimiento, así que encontré una solución que funcionó para mí: precargar libmkl_core.so antes de la ejecución.

$ 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'
$

Saludos,
Yanir.

Es una solución tan maravillosa.

El miércoles 11 de mayo de 2016 a las 7:00 a. M., Yanirj [email protected] escribió:

Hola,

Solo quería señalar que Anaconda 4.0.0, enviado con mkl habilitado por
predeterminado, tiene este problema.
El problema es de hecho con Anaconda, ya que se puede reproducir con el
prueba de python sklearn sugerida anteriormente por @pcgreat
https://github.com/pcgreat.

El problema real es que Anaconda se vinculó con mkl, pero no con
libmkl_core.so, por lo tanto, le falta un símbolo y se puede ver ejecutando:

$ LD_DEBUG = símbolos python -c 'importar 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: error de búsqueda de símbolo: símbolo indefinido: mkl_dft_fft_fix_twiddle_table_32f (fatal)

No quería desinstalar mkl, ya que me gustaría tener un aumento de rendimiento,
así que encontré una solución que funcionó para mí: precargar libmkl_core.so antes
ejecución.

$ python -c 'importar sklearn.linear_model.tests.test_randomized_l1'
ERROR FATAL Intel MKL: No se puede cargar libmkl_avx.so o libmkl_def.so.
PS

$ LD_PRELOAD = / opt / anaconda / lib / libmkl_core.so python -c 'importar sklearn.linear_model.tests.test_randomized_l1'
PS

Saludos,
Yanir.

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -218427199

Sungjin (James) Kim, Doctorado

Postdoctorado, CCB en Harvard

[email protected]

[Web] http://aspuru.chem.harvard.edu/james-sungjin-kim/

[Linkedin] https://www.linkedin.com/in/jamessungjinkim

[Facebook] https://www.facebook.com/jamessungjin.kim

[correo electrónico alternativo] jamessungjin. [email protected]

Tuve el mismo problema, a pesar de utilizar los últimos paquetes disponibles. Resulta que la solución fue más fácil de lo que pensaba: por alguna razón, Anaconda instaló las versiones habilitadas para MKL de la pila numpy / scipy, pero en realidad no instaló mkl . He visto esto al crear imágenes de Docker basadas en la pila de cuadernos mínima de Jupyter .

Un simple conda install --yes mkl mkl-service me lo resolvió.

Estaba abriendo una terminal ipython con la biblioteca precargada y me encontré con el siguiente error cuando ejecuto una de las rutinas de pca.
:
/ home / rp2801 / anaconda2 / bin / python: error de búsqueda de símbolo: /home/rp2801/anaconda2/lib/libmkl_core.so: símbolo indefinido: mkl_serv_get_max_threads
Abrí mi terminal ipython como
$ LD_PRELOAD = / ruta / a / libmkl_core.so ipython

Recibí el mismo error. La alternativa a la eliminación de MKL cambiando a cvxopt anterior construido también resolvió el problema para mí:

conda install cvxopt = 1.1.8 = py35_0

Resuelvo el problema con éxito, este es el tutorial https://docs.continuum.io/mkl-optimizations/
El comando:
conda actualizar conda
actualización de conda anaconda
actualización de conda mkl

Descubrí que tenía el mismo problema en numpy: 1.11.2 , que podría ser reproducido por
$ python -c 'import sklearn.linear_model.tests.test_randomized_l1'
ERROR FATAL Intel MKL: No se puede cargar libmkl_avx.so o libmkl_def.so.

Después de degradar numpy a 1.11.1, este error desapareció.
conda install numpy=1.11.1
Los siguientes paquetes SERÁN DESCALCIFICADOS debido a conflictos de dependencia:
numpy: 1.11.2-py35_0 -> 1.11.1-py35_0
Continuar ([y] / n)? y

Añadiendo
importar numpy como np
al comienzo del guión resolvió el problema :-)

No quería deshabilitar MKL con nomkl.
Añadiendo

import mkl
mkl.get_max_threads()

Me resolvió este problema.

conda install numpy
me solucionó el problema.

conda install -c intel mkl

Trabajó para mi

conda instalar numpy
resolvió el problema para mí también.

¿Fue útil esta página
0 / 5 - 0 calificaciones