命令行执行YOLO训练命令报错:1.PermissionError: [WinError 5] 拒绝访问 2.OMP: Error#15: Initializing libiomp5md.dll...

今天想用yolov8来训练一下自己的数据集,按照步骤调试好之后,执行

yolo train data=ultralytics/cfg/datasets/data.yaml model=yolov8x.pt epochs=10 lr0=0.01 batch=4

出现两个报错

1. OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

2. PermissionError: [WinError 5] 拒绝访问。

解决方法:

1. 对于第一个报错

OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

是由于这是因为多个 libiomp5md.dll 版本被加载到同一进程中。通常是由于 PyTorch 和其他库(如 NumPy、Scipy)同时使用 OpenMP 导致的。

为什么会有多个libiomp5md.dll文件呢,因为我用于训练的Anaconda的虚拟环境以前训练过其他的项目。

所以我在D:\SelfDownload\Anaconda\envs\test\Lib\site-packages\torch\lib这个路径下找到一个已经存在的libiomp5md.dll文件,我们把它删除掉就好了!成功解决第一个问题。(大家找不到的话 可以直接去Anaconda对应的虚拟环境下搜索这个文件)

2. 对于第二个报错

PermissionError: [WinError 5] 拒绝访问。

是由于这是 Windows 平台上 multiprocessing 模块的已知问题,通常发生在父进程试图在子进程间传递文件句柄时被拒绝访问。

我们可以避免使用多进程 将 YOLO 的训练脚本限制为单进程运行:在训练命令最后加个workers=0,如下面代码所示。

train.py data=ultralytics/cfg/datasets/data.yaml model=yolov8x.pt epochs=10 lr0=0.01 batch=4 workers=0

这个方法我试过之后就好了,如果大家这个方法没用的话,可以试试下面这篇文章:

https://blog.youkuaiyun.com/o_Roger/article/details/98182994

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值