如何修复“OMP:错误#15:正在初始化 libiomp5.dylib,但发现 libiomp.dylib 已初始化”错误?

问题描述 投票:0回答:3

在控制台中运行 Python 3.6 Jupyter 笔记本时出现此错误。

OMP:错误#15:正在初始化libiomp5.dylib,但发现libomp.dylib已经初始化。

OMP:提示这意味着 OpenMP 运行时的多个副本已链接到程序中。这是危险的,因为它会降低性能或导致不正确的结果。最好的办法是确保只有一个 OpenMP 运行时链接到进程中,例如通过避免在任何库中静态链接 OpenMP 运行时。作为一种不安全、不受支持、无文档记录的解决方法,您可以设置环境变量

KMP_DUPLICATE_LIB_OK=TRUE
以允许程序继续执行,但这可能会导致崩溃或默默地产生不正确的结果。如需了解更多信息,请参阅 http://www.intel.com/software/products/support/

我有几个不同版本的

ligomp
:

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

快速补丁是这样的:

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

我该如何正确解决这个问题?我需要删除整个 conda 并重新开始吗?

python openmp conda dylib lib
3个回答
1
投票

我遇到了这个问题,并尝试了https://github.com/dmlc/xgboost/issues/1715中描述的多种解决方案。

Alex Evers 的帖子(1ps0 于 2 月 16 日(2019 年)发表评论)对我有用。

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

0
投票

当我(愚蠢地)嵌套 conda 环境时,就发生了这种情况。 我的解决办法是:

conda 停用 重复直到退出所有环境 康达激活


-1
投票

我找到了来自同一来源的解决方案https://github.com/dmlc/xgboost/issues/1715

这似乎是 macOS 特有的问题。

对我有用的是在开头添加以下代码行。

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

PS。 我在运行 Keras 神经网络时经历过这一点。

© www.soinside.com 2019 - 2024. All rights reserved.