今天在运行前馈神经网络的一个python文件时,报了一个这样的错。
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll 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/.报错
先翻译一下:
OMP:错误#15:初始化liBiop5md.dll,但发现liBiop5md.dll已经初始化。
OMP:提示,这意味着OpenMP运行时的多个副本已经链接到程序中。这是危险的,因为它会降低性能或导致不正确的结果。最好的方法是确保只将一个OpenMP运行时链接到流程中,例如避免在任何库中静态链接OpenMP运行时。作为一种不安全的、不受支持的、无文档的解决方法,您可以设置环境变量kmp_diplylib_OK=true以允许程序继续执行,但这可能会导致崩溃或默默地产生不正确的结果。有关更多信息,请参见http://www.intel.com/software/products/support/
这里意思是有两个libiomp5md.dll
在文件里面搜索发现Anconda环境里有两个libiomp5md.dll文件
C:\Users\86152\Anaconda\.conda\pkgs\intel-openmp-2022.1.0-h57928b3_3787\Library\bin
C:\Users\86152\Anaconda\.conda\envs\pytorch\Library\bin
把上面那个删掉,
执行后,依旧没有解决:
然后我在代码里面加入了
import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
继续执行
运行成功,成功解决。