Xgboost: OMP: Ошибка № 15: Инициализация libiomp5.dylib, но обнаружено, что libiomp5.dylib уже инициализирован.

Созданный на 28 окт. 2016  ·  63Комментарии  ·  Источник: dmlc/xgboost

В случае ошибок или проблем с установкой предоставьте следующую информацию.
Чем больше информации вы предоставите, тем легче мы сможем предложить
помощь и совет.

Информация об окружающей среде

Операционная система: Mac OSX Sierra 10.12.1

Компилятор:

Используемый пакет (python):

xgboost используемая версия: xgboost 0.6a2

Если вы используете пакет Python, предоставьте

  1. Версия и распространение python:
    Pythong 2.7.12
  2. Команда для установки xgboost если вы устанавливаете не из исходников
    pip install xgboost

Действия по воспроизведению

  1. из xgboost импортировать XGBClassifier
    импортировать numpy как np
    импортировать matplotlib.pyplot как plt
    x = np.array ([[1,2], [3,4]])
    y = np.array ([0,1])
    clf = XGBClassifier (base_score = 0,005)
    clf.fit (x, y)
    plt.hist (clf.feature_importances_)

    Что ты пробовал?

    См. Сообщение об ошибке:
    "OMP: Ошибка № 15: Инициализация libiomp5.dylib, но обнаружено, что libiomp5.dylib уже инициализирован.
    OMP: Подсказка: это означает, что несколько копий среды выполнения OpenMP были связаны с программой. Это опасно, поскольку может снизить производительность или привести к неверным результатам. Лучше всего убедиться, что только одна среда выполнения OpenMP связана с процессом, например, избегая статической привязки среды выполнения OpenMP в любой библиотеке. В качестве небезопасного, неподдерживаемого и недокументированного обходного пути вы можете установить переменную среды KMP_DUPLICATE_LIB_OK = TRUE, чтобы разрешить программе продолжать выполнение, но это может вызвать сбои или незаметно привести к неверным результатам. Для получения дополнительной информации посетите http://www.intel.com/software/products/support/. "

Я пытался:
импорт ОС
os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

Он может сделать всю работу за меня. Но это некрасиво.


Я знаю, что это может быть не проблема xgboost, но я почти уверен, что эта проблема возникла после того, как я обновил xgboost с помощью «pip install xgboost». Я публикую здесь проблему, чтобы узнать, не было ли у кого-то такой же проблемы, как у меня. У меня очень мало знаний об OpenMP. Пожалуйста помоги!
Заранее спасибо!

Самый полезный комментарий

Я попробовал это, и ошибка прекратилась!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

Все 63 Комментарий

У меня такая же проблема, когда я пытаюсь использовать как xgboost, так и matplotlib.

OS X 10.10.5
Python 2.7.12
xgboost 0.6
matplotlib 1.5.1

Я столкнулся с той же проблемой с xgboost и matplotlib. Тот же симптом ... ядро ​​умирает с тем же сообщением об ошибке, что и @symPhysics

Mac OS X 10.12.3

Python 3.5.2 | Пользовательский интерфейс Anaconda (x86_64) | (по умолчанию, 2 июля 2016 г., 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] на darwin

xgboost 0.6a2

matplotlib 2.0.0

FWIW ... похоже, это проблема, связанная с MacOS. Мне не удалось воссоздать проблему на виртуальной машине CentOS Linux.

По крайней мере, для Mac,

brew uninstall libiomp clang-omp

пока у вас есть gcc v5 от brew, он идет с openmp

выполните шаги в:
https://github.com/dmlc/xgboost/tree/master/python-package

Мы можем закрыть эту проблему сейчас.

Я попробовал это, и ошибка прекратилась!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

Для меня проблема (на Mac) была исправлена ​​с помощью
pip удалить xgboost
с последующим
pip install xgboost

Я попробовал это, и ошибка прекратилась!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

Спасибо, это работает!!!

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

спасибо большое, это работает.

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

Спасибо тоже, у меня тоже работает.

@gpetty Вы, сэр, настоящий герой. Спасибо!

@gpetty Это работает! СПАСИБО :))

Как ни странно, conda install nomkl у меня не работал (на Brew тоже не установлен libiomp clang-omp ), только
import os os.environ['KMP_DUPLICATE_LIB_OK']='True'
может работать

brew uninstall libiomp clang-omp

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

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

Большое спасибо, хотя я не знаю, что такое nomkl. Это сбивало меня с толку несколько дней, когда я запускал модель CNN-RNN с использованием тензорного потока. Когда я использовал os.environ ['KMP_DUPLICATE_LIB_OK'] = 'True', это работало, но программа работала очень медленно. У вас есть правильные ответы.

Мои проблемы не имели никакого отношения к xgboost, но я попал сюда через Google, чтобы поделиться им ради других.

Я использую keras и matplotlib, установленные через conda. Установка KMP_DUPLICATE_LIB_OK просто изменила мой опыт с предупреждения на исключение / сбой. Установка nomkl для меня ничего не изменила. В конце концов я понизил свою версию matplotlib, и это исправило для меня
conda install matplotlib=2.2.3

Для людей, которые ищут эту ошибку в Google, лучшее решение, которое я нашел, приведено здесь .

На сайте указаны два метода. Я предпочитаю способ 1, который заключается в том, чтобы перейти в ваш каталог anaconda3/lib и удалить старый файл libiomp5.dylib . Красиво и просто.

Для людей, которые ищут эту ошибку в Google, лучшее решение, которое я нашел, приведено здесь .

На сайте указаны два метода. Я предпочитаю способ 1, который заключается в том, чтобы перейти в ваш каталог anaconda3/lib и удалить старый файл libiomp5.dylib . Красиво и просто.

Будьте очень осторожны, если хотите попробовать метод 1. Все рухнуло после того, как я удалил файл, и мне пришлось переустановить openmp. О той же проблеме сообщалось в исходной ссылке csdn (на китайском языке).

Спасибо!!
Для меня на MAC:
импорт ОС
os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

Была такая же проблема после переключения с homebrew / virtualenv, установленного numpy / keras / matplotlib / tensorflow на miniconda. Решается запуском conda install nomkl хотя я считаю, что keras (и numpy) не будут работать так быстро, как могли, если бы они не использовали Intel Math Kernel Lib, но, по крайней мере, мой код все еще работает, поэтому ¯ \ _ (ツ) _ / ¯

@ sam1902, который у меня тоже сработал - обновление переменной os.environ не помогло. Благодарность!

такая же проблема на моем Mac
Просто запустите - conda update -n base conda
устанавливает и обновляет необходимые зависимости

У меня такая же проблема на моем Mac, попробовал предложенный метод, и он работает

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

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

Я использовал anaconda для установки nomkl. Это устранило проблему.

Кроме того, попытка выполнить «brew uninstall ...» вызвала ошибку «Нет такого бочонка».

Я попробовал это, и ошибка прекратилась!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

Следует отметить, что разработчики OpenMP категорически не одобряют этого . Из их сообщения об ошибке:

Лучше всего убедиться, что только одна среда выполнения OpenMP связана с процессом, например, избегая статической привязки среды выполнения OpenMP в любой библиотеке. В качестве небезопасного, неподдерживаемого и недокументированного обходного пути вы можете установить переменную среды KMP_DUPLICATE_LIB_OK=TRUE чтобы программа продолжала выполняться, но это может привести к сбою или выдаче неверных результатов без уведомления.

conda install nomkl у меня сработало.

Может ли кто-нибудь объяснить, что это делает и почему это решает проблему?

@ georgeu2000 , мне интересно примерно то же самое. Это также устранило проблему для меня. Я использую Numpy, Matplotlib, Keras и Tensorflow в качестве бэкэнда. Кажется, я не понимаю, что делает этот пакет. Кто-нибудь мог объяснить?

Большое спасибо.

Раньше я видел несколько тестов между openblas и mkl, mkl не превосходит их. Есть ли причина использовать mkl вместо openblas? Объяснение чего-либо без под рукой исходного кода не очень мотивирует.

В MacOS Mojave:

conda установить nomkl

работает, но необходимо понизить версию:

 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
 numpy-base 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

Мои проблемы не имели никакого отношения к xgboost, но я попал сюда через Google, чтобы поделиться им ради других.

Я использую keras и matplotlib, установленные через conda. Установка KMP_DUPLICATE_LIB_OK просто изменила мой опыт с предупреждения на исключение / сбой. Установка nomkl для меня ничего не изменила. В конце концов я понизил свою версию matplotlib, и это исправило для меня
conda install matplotlib=2.2.3

Эй, приятель, ты спас мою задницу

Была такая же проблема после переключения с homebrew / virtualenv, установленного numpy / keras / matplotlib / tensorflow на miniconda. Решается запуском conda install nomkl хотя я считаю, что keras (и numpy) не будут работать так быстро, как могли, если бы они не использовали Intel Math Kernel Lib, но, по крайней мере, мой код все еще работает, поэтому ¯_ (ツ) _ / ¯

^^^^ Вот что помогло мне. Спасибо!

Спасибо!!
Для меня на MAC:
импорт ОС
os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

РАБОТАЕТ ДЛЯ МЕНЯ СПАСИБО

В моем conda lib меня есть несколько libgomp :

Я получил ожидаемую ошибку:

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/.

Это определенно помогает:

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

Вот все мои версии:

(µ_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

Мне просто удалить одну из них? Если да, следует ли мне оставить libiomp5.dylib вместо libgomp.1.dylib и просто символическую ссылку?

OMP: Ошибка № 15: Инициализация libiomp5.dylib, но обнаружено, что libiomp5.dylib уже инициализирован.

OMP: Подсказка: это означает, что несколько копий среды выполнения OpenMP были связаны с программой. Это опасно, поскольку может снизить производительность или привести к неверным результатам. Лучше всего убедиться, что только одна среда выполнения OpenMP связана с процессом, например, избегая статической привязки среды выполнения OpenMP в любой библиотеке. В качестве небезопасного, неподдерживаемого и недокументированного обходного пути вы можете установить переменную среды KMP_DUPLICATE_LIB_OK = TRUE, чтобы разрешить программе продолжать выполнение, но это может вызвать сбои или незаметно привести к неверным результатам. Для получения дополнительной информации посетите http://www.intel.com/software/products/support/.

Я попробовал это, и ошибка прекратилась!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

Устраняет проблему. Спасибо

Я столкнулся с этой проблемой при новой установке anaconda на совершенно новом Mac Book Pro в Anaconda, пытаясь использовать тензорный поток и керас. Я использовал. conda update --all, и проблема устранилась.

brew uninstall libiomp clang-omp

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

У меня такая же ошибка, как вы ее решили, и conda insatll nomkl тоже не работает
это дает ошибку
UnavailableInvalidChannel: канал недоступен или недействителен.
название канала: факел
URL канала: https://conda.anaconda.org/torch
код ошибки: 404

Чтобы продолжить, вам нужно будет настроить конфигурацию conda.
Используйте conda config --show channels для просмотра текущего состояния вашей конфигурации,
и используйте conda config --show-sources чтобы просмотреть расположение файлов конфигурации.

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

Я столкнулся с той же проблемой, и я использую keras, numpy и tensorflow 1.14.
conda install nomkl действительно решает мою проблему! Спасибо @gpetty

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с
'conda install nomkl'.

Это сработало и для меня. Я получал ошибку при запуске пакета LightGBM, ошибка выходила после определенного количества строк или определенного количества функций.

Я предполагаю, что это как-то связано с использованием памяти или процессом распараллеливания. Было бы здорово, если бы кто-нибудь мог объяснить, что именно делает libomp и почему nomkl решает эту проблему. Спасибо @gpetty.

Как ни странно, conda install nomkl у меня не работал (на Brew тоже не установлен libiomp clang-omp ), только

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

может работать

Привет
То же самое для меня, но
conda install -c anaconda nomkl
работал на меня
Надеюсь, поможет

Всем привет,

хотя использование os.environ['KMP_DUPLICATE_LIB_OK']='True' абсолютно не одобряется, но в конечном итоге мне пришлось использовать его, потому что conda install -c anaconda nomkl у меня не сработало. Есть другие идеи?

используйте os.environ ['KMP_DUPLICATE_LIB_OK'] = 'True' работает, но не рекомендуется. использование Conda install nomkl выглядит бесконечным, его нужно убить. используйте conda update -n base Conda работает и обновляет библиотеку

Я попробовал это, и ошибка прекратилась!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

Большое тебе спасибо! Меня устраивает!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

у меня работает, спасибо.

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

Спасибо, братан! У меня сработало!

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

Спасибо, братан! У меня сработало!

Я просто тестирую tenorflow object_detection API и запускаю файл object_detection_tutorial.ipynb

Я использую MBP 2010 года, запускаю файл python (3.7) на анаконде; так что я предполагаю, что это как-то связано с моей «старой» системой - я понятия не имею, на каких территориях я здесь ступаю - попытался удалить xgboost, понял, что он не установлен, попытался установить его, он просто застрял; попробовал conda install nomkl, и тогда мой скрипт python сам не запускался ( illegal instruction: 4 ); удалил номкл; наконец сработало, когда я использовал

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

Я до сих пор не знаю, как и почему это сработало, но теперь это работает

Спасибо за это; conda update --all - вот что сработало для меня. Запуск Mac OS Mojave с Python 3.7 Anaconda (не новая установка ... датируется прошлым годом).

Повторное открытие, если у кого-то есть понимание проблемы, поделитесь.

Мы можем закрыть эту проблему сейчас.

LMAO

Я попробовал это, и ошибка прекратилась!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

это работает для меня спасибо

Для меня эта комбинация сработала:

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

Первичный конфликт возник из-за brew libiomp но позже он конфликтует с conda base env и моим python 3.7 env за openmp отправлял меня по кругу, пока я не разобрался с цепочкой зависимостей / откатом. Различие источников каналов имело огромное значение.

Я попробовал это, и ошибка прекратилась!

импорт ОС

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

У меня тоже работает

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

Спасибо! У меня работает с сегодняшнего дня! Кто-нибудь может объяснить, почему это работает?

Теперь мы предоставляем двоичное колесо для Mac OSX, которое ссылается на /usr/local/lib/libomp.dylib . Установите XGBoost, запустив

python -m pip install xgboost

Спасибо, что решил мой случай. На моем Mac не было libiomp и clip-omp, и я не устанавливал nomkl.
Итак, я делаю только эти два шага.

conda uninstall intel-openmp
conda install -c intel openmp

Для меня эта комбинация сработала:

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

Первичный конфликт возник из-за brew libiomp но позже он конфликтует с conda base env и моим python 3.7 env за openmp отправлял меня по кругу, пока я не разобрался с цепочкой зависимостей / откатом. Различие источников каналов имело огромное значение.

(macOS Catalina 10.15.5)

Просматривая установленный пакет в моем env, я заметил, что есть обновление для mkl.

Итак, я смог решить свою проблему, обновив mkl.

conda install -c intel mkl

вы можете запустить этот комментарий conda install nomkl

У меня была такая же ошибка на моем Mac с программой python с использованием numpy, keras и matplotlib. Я решил это с помощью conda install nomkl.

Что за магия стоит за этим?

У меня была такая же ошибка на моем окне10.

os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно', я попробовал эту команду, и проблема решена благодаря @Toooodd

Я нашел альтернативное решение этой проблемы здесь , что для предварительной загрузки среды выполнения OpenMP с помощью LD_PRELOAD переменных:

LD_PRELOAD=<path_to_libiomp5.so> <path_to your_executable>

Это исключает многократную загрузку libiomp и заставляет все компоненты использовать эту конкретную версию OpenMP.

импорт ОС
os.environ ['KMP_DUPLICATE_LIB_OK'] = 'Верно'

С последующим

conda установить nomkl

Работал у меня. Спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги