一、问题描述:
windows 10本地环境,conda虚拟环境,Yolov8推理图片流,之前正常使用的,因为准备切换miniconda包,重新搭建了下环境,搭建好之后,发现报错无法正常执行。
Yolov8环境,执行推理报错: OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
文件名:libiomp5md.dll
该文件存在多个路径下:
D:\Software\miniconda\Library\bin
D:\Software\miniconda\Lib\site-packages\torch\lib
二、解决方案
1. 现有的解决方案及尝试结果
查看网上这个问题的解决方案,包括也向deepseek求助答案。
方案通常是两个:
- 临时方案:添加以下配置已跳过该问题
import os
os.environ[‘KMP_DUPLICATE_LIB_OK’] = ‘TRUE’
- 在包路径下搜索这个文件,备份后移除其中的一个文件,来保证唯一文件。
其他小伙伴可以先试试这两种方式!如果可以,就解决了。
这两种方案在我这里都没有解决问题。
- 方案1之前就添加过该文件了,所以我直接跳过。
- 方案2我分别备份并移除单个目录下的文件,都引发了其他报错。(如:ImportError: cannot import name ‘DiagnosticOptions’ from ‘torch.onnx._internal.exporter’)
2. 我的解决方案
解决方案:
1. 卸载原有的pytorch,torchvision,torchaudio
a. 执行命令:pip uninstall torch torchvision torchaudio
b. 若存在多个版本没有卸载干净,则pip list检查仍存在的版本,卸载剩余版本
c. 卸载后,D:\Software\miniconda\Lib\site-packages\torch\lib 目录里的该文件移除
- 卸载conda包里的 intel-openmp
a. 执行命令:pip uninstall intel-openmp
b. 卸载后,D:\Software\miniconda\Library\bin 目录里的该文件移除
- 至此,报错文件全部卸载!重新安装环境需要的包
a. 原来安装的方式:
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.1 -c pytorch -c nvidia
b. 新尝试的安装的方式:
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121
- 使用新尝试的安装方式b安装后,执行推理不报错了,问题完美解决!!!