注:这是在运行图像分类经典网络AlexNet代码的时候遇到的问题,关于AlexNet网络详情请参考链接:
https://blog.csdn.net/seasonsyy/article/details/132640381?spm=1001.2014.3001.5501
运行错误:
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/.
参考ChatGPT
错误原因:
这个错误是因为在程序中链接了多个OpenMP运行时库,这可能会降低性能或导致错误的结果。
解决办法:
最好的解决方法是确保只有一个OpenMP运行时库被链接到进程中,检查编译选项和链接库的设置,确保没有重复链接OpenMP库。例如避免在任何库中进行静态链接OpenMP运行时。作为一种不安全、不支持、未记录的解决方法,您可以设置环境变量KMP_DUPLICATE_LIB_OK=TRUE来允许程序继续执行,但这可能会导致崩溃或产生错误的结果。更多信息请参考http://www.intel.com/software/products/support/。
解决步骤:
-
如果您使用的是Visual Studio编译器,可以在项目属性的"C/C++" -> “代码生成"中将"Open MP支持"设置为"是”。
-
如果您在使用其他编译器,请参考该编译器的文档,查找关于OpenMP的配置选项,并确保只链接一个OpenMP运行时库。
-
如果以上步骤没有解决问题,您可以尝试设置环境变量KMP_DUPLICATE_LIB_OK=TRUE。请注意,这是一个不受支持的解决方法,可能会导致其他问题。
我使用的是pycharm编译器
在PyCharm编译器中,您可以尝试以下步骤来解决这个问题:
-
打开PyCharm,进入您的项目。
-
在顶部菜单栏中选择"Run" -> “Edit Configurations”。
图5
-
在弹出的对话框中,找到您要运行的配置文件,并选择它。
-
在右侧窗格中的"Environment variables"部分,添加一个新的环境变量。
图6
-
将变量名设置为
KMP_DUPLICATE_LIB_OK
,将变量值设置为TRUE
。图7
-
单击"OK"保存更改。
-
现在再次尝试运行您的程序,看看是否仍然出现相同的错误。将此环境变量设置为"TRUE"可能会使程序继续执行,但请注意,这可能会导致崩溃或产生错误的结果。
如果通过上述步骤仍无法解决该问题,请查阅PyCharm的文档或与PyCharm支持团队联系以获得更准确的帮助和指导。
解决结果:成功
运行结果如图所示:(图8-图9
)
图8
图9