在控制台中运行 Python 3.6 Jupyter 笔记本时出现此错误。
OMP:错误#15:正在初始化libiomp5.dylib,但发现libomp.dylib已经初始化。
OMP:提示这意味着 OpenMP 运行时的多个副本已链接到程序中。这是危险的,因为它会降低性能或导致不正确的结果。最好的办法是确保只有一个 OpenMP 运行时链接到进程中,例如通过避免在任何库中静态链接 OpenMP 运行时。作为一种不安全、不受支持、无文档记录的解决方法,您可以设置环境变量
以允许程序继续执行,但这可能会导致崩溃或默默地产生不正确的结果。如需了解更多信息,请参阅 http://www.intel.com/software/products/support/。KMP_DUPLICATE_LIB_OK=TRUE
我有几个不同版本的
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 并重新开始吗?
我遇到了这个问题,并尝试了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
当我(愚蠢地)嵌套 conda 环境时,就发生了这种情况。 我的解决办法是:
conda 停用 重复直到退出所有环境 康达激活
我找到了来自同一来源的解决方案https://github.com/dmlc/xgboost/issues/1715
这似乎是 macOS 特有的问题。
对我有用的是在开头添加以下代码行。
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
PS。 我在运行 Keras 神经网络时经历过这一点。