yoloV5训练时运行train.py报错IndexError: list index out of range

在使用yoloV5训练自定义数据集/运行train.py时,提示如下报错:

Traceback (most recent call last):
  File "train.py", line 387, in <module>
    train(hyp)
  File "train.py", line 292, in train
    dataloader=testloader)
  File "*\yolov5_material\yolov5-master\test.py", line 168, in test
    plot_images(img, output_to_target(output, width, height), paths, f, names)  # predictions
  File "*\yolov5_material\yolov5-master\utils\utils.py", line 1008, in plot_images
    cls = names[cls] if names else cls
IndexError: list index out of range

这个报错是怎么形成的呢?要知道我提前运行过一个只有10个图片和标签的训练集做测试 ,是可以通过没问题的。

也就是如果你跟我一样能确定并不是安装问题,也不是环境问题,那只能是参数问题。

经检查后发现,原来是我 coco128.yaml 的 name= [] 没有对应修改正确。也就是和txt格式的标签内容不符。

修正后重新运行程序,问题解决。

这里多说一句,我是从labelImg的github上获得的labelImg.py,在下载的同一个文件夹中会有个*\data\predefined_classes.txt的文件,一开始设定好了需要的类别,结果在程序的交互界面操作的时候临时又增加了一个类别,所以运行train.py忘记修改对应的coco128.yaml的文件了,故会产生此报错。这里也当做记个笔记给自己提个醒。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值