yolov5训练最常见错误解决办法

我主要用过两种代码

第一种为哔哩哔哩上的up主Bubbliiiing上传的代码———出现以下错误:

1、标注好自己的数据集之后,进行数据集的划分,通常比例为9:1;

2、接下来进行train.py,一般在改完cls_classes.txt之后基本就可以跑起来了,但是在遇到以下问题时“”一般就是因为你的数据集太少,而且还没有改train.py中的冻结阶段训练参数以及解冻阶段两部分的参数设置;比如我的是121张图片,原始代码的参数为:

但是由于我的数据集太少,所以会出现数据集太少,无法训练;因此我又重新设置了训练次数以及batch_size,主要是为了考虑电脑显存,我改了如下:

此时代码可以进行训练,Epoch为50;

3、运行时会出现运行一代或者几代时会运行中断,如以下的错误:

主要时因为我解决之后才想起来发一下,帮助其他有同样错误的伙伴,所以这个没有截当时pycharm中的图,大家可以对比是不是一样的错;

解决措施:

在代码运行的最前方加上 

import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'

刷新后即可运行训练自己的数据集;

4、接着又出现了这个错误:

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

解决措施:这个错先进行在电脑上检索“libiomp5md.dll”,一般会有两个直接删除时间靠前的即可,如果还是不行就在回收站中进行回收,接着删除另外一个,我的是直接删除就好了的;

 第二种为yolov5官网上的代码,ultralytics/yolov5 at v5.0 (github.com)进行运行时会出现以下错误:

1、会报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0x8b in position 233: illegal multibyte sequence

主要就是因为字节编码解码时两个方式不一样,所以要进行统一规定;

解决措施:在运行的reader.py中检索with open(检索快捷键为ctrl+f),将检索出的所有with open中都加上encoding='utf-8',刷新即可解决;

2、完成上一步改错后,在运行又会出现

 目前这个错还没有解决,咨询说是因为字典问题,有了解的伙伴希望救救孩子!!! 

 希望对大家有帮助

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
"val"意味着验证集(validation set),该错误通常出现在YOLOv5训练过程中,表示在代码中找不到这个关键字。 通常,在训练YOLOv5时,我们会将数据集分为训练集和验证集。训练集用于模型的训练,而验证集则用于评估模型在训练过程中的性能。 在YOLOv5训练中,我们可以指定验证集的路径,以便训练过程中对模型在验证集上的表现进行监控。然而,当出现'val'关键字错误时,这可能是由以下原因导致的: 1. 数据集划分问题:可能没有正确将数据集划分为训练集和验证集,或者指定了错误的验证集路径。 2. 配置文件问题:在配置文件中,可能没有正确地设置验证集的相关参数,例如验证集的路径、样本数量等。 3. 代码错误:在训练过程中,可能在某个代码块中使用了'val'关键字,但是没有正确定义或者不正确地使用了该关键字。 要解决此错误,我们可以尝试以下步骤: 1. 检查数据集划分:确保正确将数据集划分为训练集和验证集,并在代码中正确指定验证集的路径。 2. 检查配置文件:检查训练配置文件中与验证集相关的参数是否正确设置,包括路径和样本数量等。 3. 检查代码:仔细检查代码中是否存在使用'val'关键字的代码段,并确保正确定义和使用了该关键字。 通过以上步骤,我们应该能够解决'val'关键字错误,并成功进行YOLOv5模型的训练
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值