Xgboost: OMP: Error # 15: Inicializando libiomp5.dylib, pero encontró libiomp5.dylib ya inicializado.

Creado en 28 oct. 2016  ·  63Comentarios  ·  Fuente: dmlc/xgboost

Para errores o problemas de instalación, proporcione la siguiente información.
Cuanta más información proporcione, más fácilmente seremos capaces de ofrecer
ayuda y consejo.

Información medioambiental

Sistema operativo: Mac OSX Sierra 10.12.1

Compilador:

Paquete utilizado (python):

xgboost versión utilizada: xgboost 0.6a2

Si está utilizando el paquete de Python, proporcione

  1. La versión y distribución de Python:
    Pythong 2.7.12
  2. El comando para instalar xgboost si no está instalando desde la fuente
    pip instalar xgboost

pasos para reproducir

  1. desde xgboost importar XGBClassifier
    importar numpy como np
    importar matplotlib.pyplot como plt
    x = np.array ([[1,2], [3,4]])
    y = np.array ([0,1])
    clf = XGBClassifier (puntuación_base = 0,005)
    clf.fit (x, y)
    plt.hist (clf.feature_importances_)

    Que has probado

    Vea el mensaje de error:
    "OMP: Error n. ° 15: Inicializando libiomp5.dylib, pero encontró que libiomp5.dylib ya estaba inicializado.
    OMP: Sugerencia: esto significa que se han vinculado varias copias del tiempo de ejecución de OpenMP al programa. Eso es peligroso, ya que puede degradar el rendimiento o provocar resultados incorrectos. Lo mejor que puede hacer es asegurarse de que solo un tiempo de ejecución de OpenMP esté vinculado al proceso, por ejemplo, evitando la vinculación estática del tiempo de ejecución de OpenMP en cualquier biblioteca. Como solución alternativa insegura, no admitida e indocumentada, puede configurar la variable de entorno KMP_DUPLICATE_LIB_OK = TRUE para permitir que el programa continúe ejecutándose, pero eso puede causar bloqueos o producir silenciosamente resultados incorrectos. Para obtener más información, consulte http://www.intel.com/software/products/support/. "

Lo intenté:
importar sistema operativo
os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

Puede hacer el trabajo por mí. Pero es algo feo.


Sé que puede que no sea el problema de xgboost, pero estoy bastante seguro de que este problema ocurrió después de actualizar xgboost usando 'pip install xgboost'. Publico el problema aquí para ver si alguien tuvo el mismo problema que yo. Tengo muy poco conocimiento sobre OpenMP. ¡Por favor ayuda!
¡Gracias por adelantado!

Comentario más útil

¡Intenté esto y el error se detuvo!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

Todos 63 comentarios

Tengo el mismo problema cuando intento usar xgboost y matplotlib.

OS X 10.10.5
Python 2.7.12
xgboost 0.6
matplotlib 1.5.1

Encontré el mismo problema con xgboost y matplotlib. Mismo síntoma ... el kernel muere con el mismo mensaje de error informado por @symPhysics

Mac OS X 10.12.3

Python 3.5.2 | Anaconda personalizado (x86_64) | (predeterminado, 2 de julio de 2016, 17:52:12)
[GCC 4.2.1 Compatible con Apple LLVM 4.2 (clang-425.0.28)] en darwin

xgboost 0.6a2

matplotlib 2.0.0

FWIW ... esto parece ser un problema específico de MacOS. No pude recrear el problema en una máquina virtual CentOS Linux.

Al menos para Mac,

brew uninstall libiomp clang-omp

siempre que tengas gcc v5 de brew, viene con openmp

siga los pasos en:
https://github.com/dmlc/xgboost/tree/master/python-package

Podemos cerrar este problema ahora.

¡Intenté esto y el error se detuvo!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

Para mí, el problema (en una Mac) se solucionó con
pip desinstalar xgboost
seguido por
pip instalar xgboost

¡Intenté esto y el error se detuvo!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

gracias, funciona !!!

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

muchas gracias, funciona.

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

Gracias también, a mí también me funciona.

@gpetty Usted señor es un verdadero héroe. ¡Gracias!

@gpetty ¡Funciona! GRACIAS :))

Curiosamente, conda install nomkl no funcionó para mí (tampoco tengo libiomp clang-omp instalado en Brew), solo
import os os.environ['KMP_DUPLICATE_LIB_OK']='True'
podría funcionar

brew uninstall libiomp clang-omp

Error: No such keg: /usr/local/Cellar/libiomp

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

muchas gracias, aunque no sé qué es nomkl. Me confundió unos días cuando ejecuté un modelo CNN-RNN usando tensorflow. Cuando usé os.environ ['KMP_DUPLICATE_LIB_OK'] = 'True', funcionó, pero el programa funciona muy lento. Tienes la respuesta correcta.

Mis problemas no tenían nada que ver con xgboost, pero llegué aquí a través de Google para compartirlo por el bien de los demás.

Estoy usando keras y matplotlib instalados a través de conda. Establecer KMP_DUPLICATE_LIB_OK acaba de cambiar mi experiencia de una advertencia a una excepción / bloqueo. Instalar nomkl no cambió nada para mí. Eventualmente, bajé mi versión de matplotlib y eso solucionó las cosas para mí.
conda install matplotlib=2.2.3

Para las personas que buscan en Google este error, la mejor solución que encontré se enumera aquí .

El sitio enumera dos métodos. Prefiero el método 1, que es ir a su directorio anaconda3/lib y eliminar el antiguo archivo libiomp5.dylib . Agradable y sencillo.

Para las personas que buscan en Google este error, la mejor solución que encontré se enumera aquí .

El sitio enumera dos métodos. Prefiero el método 1, que es ir a su directorio anaconda3/lib y eliminar el antiguo archivo libiomp5.dylib . Agradable y sencillo.

Tenga mucho cuidado si quiere probar el método 1. Todo falló después de que borré el archivo y tengo que reinstalar openmp. El mismo problema se informó en el enlace csdn original (en chino).

¡¡Gracias!!
Para mí en MAC:
importar sistema operativo
os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

Tuve el mismo problema después de cambiar de homebrew / virtualenv instalado numpy / keras / matplotlib / tensorflow a miniconda instalado. Resuelto ejecutando conda install nomkl aunque creo que keras (y numpy) no se ejecutarán tan rápido como podrían si no hacen uso de Math Kernel Lib de Intel, pero al menos mi código aún se ejecuta así ¯ \ _ (ツ) _ / ¯

@ sam1902 que también funcionó para mí; la actualización de la variable os.environ no lo hizo. ¡Gracias!

tengo el mismo problema en mi Mac
Simplemente ejecute - conda update -n base conda
instala y actualiza las dependencias necesarias

Tengo el mismo problema en mi mac, probé el método sugerido y funciona

import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

Usé anaconda para instalar nomkl. Eso solucionó el problema.

Además, el intento de hacer "desinstalar cerveza ..." dio el error "No existe tal barril".

¡Intenté esto y el error se detuvo!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

Cabe señalar que los desarrolladores de OpenMP desaconsejan esto . De su mensaje de error:

Lo mejor que puede hacer es asegurarse de que solo un tiempo de ejecución de OpenMP esté vinculado al proceso, por ejemplo, evitando la vinculación estática del tiempo de ejecución de OpenMP en cualquier biblioteca. Como solución alternativa insegura, no admitida e indocumentada, puede configurar la variable de entorno KMP_DUPLICATE_LIB_OK=TRUE para permitir que el programa continúe ejecutándose, pero eso puede causar bloqueos o producir silenciosamente resultados incorrectos.

conda install nomkl funcionó para mí.

¿Alguien puede explicar qué hace esto y por qué soluciona el problema?

@ georgeu2000 , me pregunto lo mismo. También me solucionó el problema. Estoy usando Numpy, Matplotlib, Keras y Tensorflow como backend. Parece que no entiendo lo que hace ese paquete. ¿Alguien podría explicarlo?

Muchas gracias.

Vi algunos puntos de referencia entre openblas y mkl antes, mkl no es superior. ¿Hay alguna razón para usar mkl sobre openblas? Explicar algo sin el código fuente a mano no es muy motivador.

En MacOS Mojave:

conda instalar nomkl

funciona pero tiene que degradar:

 mkl_fft 1.0.10-py36h5e564d8_0 -> 1.0.1-py36h917ab60_0
 mkl_random 1.0.2-py36h27c97d8_0 -> 1.0.1-py36h78cc56f_0
 numexpr 2.6.9-py36h7413580_0 -> 2.6.9-py36hafae301_0
 numpy 1.15.4-py36hacdab7b_0 -> 1.15.4-py36h926163e_0
 base-numpy 1.15.4-py36h6575580_0 -> 1.15.4-py36ha711998_0
 scikit-learn 0.20.2-py36h27c97d8_0 -> 0.20.2-py36hebd9d1a_0
 scipy 1.2.1-py36h1410ff5_0 -> 1.2.1-py36h1a1e112_0

Mis problemas no tenían nada que ver con xgboost, pero llegué aquí a través de Google para compartirlo por el bien de los demás.

Estoy usando keras y matplotlib instalados a través de conda. Establecer KMP_DUPLICATE_LIB_OK acaba de cambiar mi experiencia de una advertencia a una excepción / bloqueo. Instalar nomkl no cambió nada para mí. Eventualmente, bajé mi versión de matplotlib y eso solucionó las cosas para mí.
conda install matplotlib=2.2.3

Oye amigo, me salvaste el culo

Tuve el mismo problema después de cambiar de homebrew / virtualenv instalado numpy / keras / matplotlib / tensorflow a miniconda instalado. Resuelto ejecutando conda install nomkl aunque creo que keras (y numpy) no se ejecutarán tan rápido como podrían si no hacen uso de Math Kernel Lib de Intel, pero al menos mi código aún se ejecuta así ¯_ (ツ) _ / ¯

^^^^ Esto es lo que me sirvió. ¡Gracias!

¡¡Gracias!!
Para mí en MAC:
importar sistema operativo
os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

FUNCIONA PARA MI GRACIAS

En mi conda lib , tengo varios libgomp :

Recibí el error esperado:

OMP: Error #15: Initializing libiomp5.dylib, but found libomp.dylib already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.

Esto definitivamente ayuda:

import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'

Aquí están todas mis versiones:

(µ_env) jespinozlt-osx:lib jespinoz$ pwd
/Users/jespinoz/anaconda/envs/µ_env/lib
(µ_env) jespinozlt-osx:lib jespinoz$ ls -lhtr | grep "omp"
-rw-rw-r--    4 jespinoz  tigr   165B Oct 28  2016 libgomp.spec
-rw-rw-r--    4 jespinoz  tigr   108K Oct 28  2016 libgomp.a
-rwxrwxr-x   11 jespinoz  tigr    62K Oct 28  2016 libgomp.1.dylib
-rwxrwxr-x    6 jespinoz  tigr   489K Oct 27 17:30 libomp.dylib
-rwxrwxr-x    5 jespinoz  tigr   176K Mar 14 13:10 libiompstubs5.dylib
-rwxrwxr-x    5 jespinoz  tigr   296K Mar 14 13:10 libiomp5_db.dylib
-rwxrwxr-x    5 jespinoz  tigr   2.7M Mar 14 13:10 libiomp5.dylib
lrwxr-xr-x    1 jespinoz  tigr    15B Apr 10 14:51 libgomp.dylib -> libgomp.1.dylib

¿Debería eliminar uno de ellos? Si es así, ¿debería mantener libiomp5.dylib lugar de libgomp.1.dylib y solo el enlace simbólico?

OMP: Error # 15: Inicializando libiomp5.dylib, pero encontró libiomp5.dylib ya inicializado.

OMP: Sugerencia: esto significa que se han vinculado varias copias del tiempo de ejecución de OpenMP al programa. Eso es peligroso, ya que puede degradar el rendimiento o provocar resultados incorrectos. Lo mejor que puede hacer es asegurarse de que solo un tiempo de ejecución de OpenMP esté vinculado al proceso, por ejemplo, evitando la vinculación estática del tiempo de ejecución de OpenMP en cualquier biblioteca. Como solución alternativa insegura, no admitida e indocumentada, puede configurar la variable de entorno KMP_DUPLICATE_LIB_OK = TRUE para permitir que el programa continúe ejecutándose, pero eso puede causar bloqueos o producir silenciosamente resultados incorrectos. Para obtener más información, consulte http://www.intel.com/software/products/support/.

¡Intenté esto y el error se detuvo!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

Soluciona el problema. Gracias

Me encontré con este problema en una nueva instalación de anaconda en un nuevo Mac book pro en Anaconda tratando de usar tensor-flow y keras. Solía. 'conda update --all' y solucionó el problema.

brew uninstall libiomp clang-omp

Error: No such keg: /usr/local/Cellar/libiomp

tengo el mismo error, ¿cómo lo resolvió, y conda insatll nomkl tampoco funciona?
está dando el error
UnavailableInvalidChannel: el canal no es accesible o no es válido.
nombre del canal: antorcha
URL del canal: https://conda.anaconda.org/torch
código de error: 404

Deberá ajustar su configuración de conda para continuar.
Use conda config --show channels para ver el estado actual de su configuración,
y use conda config --show-sources para ver las ubicaciones de los archivos de configuración.

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

Me encontré con el mismo problema y uso keras, numpy y tensorflow 1.14.
conda install nomkl resuelve mi problema! Gracias @gpetty

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con
'conda install nomkl'.

Esto funcionó para mí también. Recibí un error mientras ejecutaba el paquete LightGBM, estaba fallando después de un cierto número de filas o cierto número de funciones.

Supongo que tiene algo que ver con el uso de la memoria o el proceso de paralelización. Sería genial si alguien pudiera explicar qué hace exactamente 'libomp' y por qué 'nomkl' lo resuelve. Gracias @gpetty.

Curiosamente, conda install nomkl no funcionó para mí (tampoco tengo libiomp clang-omp instalado en Brew), solo

os.environ['KMP_DUPLICATE_LIB_OK']='True'

podría funcionar

Hola
Lo mismo para mi pero
conda install -c anaconda nomkl
trabajó para mi
Espero eso ayude

Oigan todos,

aunque usar os.environ['KMP_DUPLICATE_LIB_OK']='True' está absolutamente mal visto, pero finalmente, tuve que usarlo porque conda install -c anaconda nomkl no funcionó para mí. ¿Alguna otra idea?

use os.environ ['KMP_DUPLICATE_LIB_OK'] = 'True' funciona pero no se recomienda. use Conda install nomkl parece que se ejecuta sin fin, tiene que matarlo. use conda update -n base Conda funciona y actualizó la lib

¡Intenté esto y el error se detuvo!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

¡Muchos gracias! ¡Esto funciona para mi!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

funciona para mí, gracias.

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

Gracias hermano! ¡funcionó para mí!

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

Gracias hermano! ¡funcionó para mí!

Solo pruebo la API de detección de objetos de tensorflow y ejecuto el archivo object_detection_tutorial.ipynb

estoy en un MBP de 2010, ejecutando el archivo python (3.7) en anaconda; así que supongo que tenía algo que ver con mi 'antiguo' sistema - no tengo ni idea de qué territorios estoy pisando aquí - intenté desinstalar xgboost, me di cuenta de que no estaba instalado, intenté instalarlo, simplemente se atascó; probé conda install nomkl, y luego mi script de Python no se ejecutó ( illegal instruction: 4 ); nomkl desinstalado; finalmente funcionó cuando usé

import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'

todavía no sé cómo y por qué funcionó, pero bueno, funciona ahora

Gracias por esto; conda update --all fue lo que funcionó para mí. Ejecutando Mac OS Mojave con Python 3.7 Anaconda (no la nueva instalación ... data del año pasado).

Reapertura, si alguien tiene alguna idea del problema, por favor comparta.

Podemos cerrar este problema ahora.

LMAO

¡Intenté esto y el error se detuvo!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

funciona para mí gracias

Para mí, esta combinación funcionó:

brew uninstall libiomp clamp-omp
conda uninstall intel-openmp -n base
conda install -c intel openmp -n myenv
conda install nomkl -n myenv

El conflicto principal provino de brew libiomp pero luego entra en conflicto con conda base env y mi python 3.7 env sobre openmp me envió en círculos hasta que resolví la cadena de dependencia / respaldo. La distinción de la fuente del canal marcó una gran diferencia.

¡Intenté esto y el error se detuvo!

importar sistema operativo

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

A mi tambien me funciona

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

¡Gracias! ¡Funciona para mí a partir de hoy! ¿Alguien puede explicar por qué funciona esto?

Ahora proporcionamos una rueda binaria para Mac OSX, que enlaza con /usr/local/lib/libomp.dylib . Instale XGBoost ejecutando

python -m pip install xgboost

Gracias, esto resolvió mi caso. Mi Mac no tenía libiomp y clamp-omp, y no instalé nomkl.
Así que solo hago estos dos pasos.

conda uninstall intel-openmp
conda install -c intel openmp

Para mí, esta combinación funcionó:

brew uninstall libiomp clamp-omp
conda uninstall intel-openmp -n base
conda install -c intel openmp -n myenv
conda install nomkl -n myenv

El conflicto principal provino de brew libiomp pero luego entra en conflicto con conda base env y mi python 3.7 env sobre openmp me envió en círculos hasta que resolví la cadena de dependencia / respaldo. La distinción de la fuente del canal marcó una gran diferencia.

(macOS Catalina 10.15.5)

Al revisar el paquete instalado en mi env, noté que había una actualización para mkl.

Entonces pude resolver mi caso actualizando mkl.

conda install -c intel mkl

puedes ejecutar este comentario conda install nomkl

Tuve el mismo error en mi Mac con un programa de Python usando numpy, keras y matplotlib. Lo resolví con 'conda install nomkl'.

¿Cuál es la magia detrás de esto?

Tuve el mismo error en mi window10.

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'True', probé este comando y el problema se solucionó gracias a @Toooodd

Encontré una solución alternativa a este problema aquí , que es precargar el tiempo de ejecución de OpenMP usando la variable LD_PRELOAD :

LD_PRELOAD=<path_to_libiomp5.so> <path_to your_executable>

Esto elimina múltiples cargas de libiomp y hace que todos los componentes usen esta versión específica de OpenMP.

importar sistema operativo
os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Verdadero'

Seguido por

conda instalar nomkl

Trabajó para mi. ¡Gracias!

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

Temas relacionados

frankzhangrui picture frankzhangrui  ·  3Comentarios

XiaoxiaoWang87 picture XiaoxiaoWang87  ·  3Comentarios

trivialfis picture trivialfis  ·  3Comentarios

vkuznet picture vkuznet  ·  3Comentarios

pplonski picture pplonski  ·  3Comentarios