yolov5模型问题解决SPPF找不到、yolov5smlx.pt文件下载、coco128文件下载、coco128yaml文件更改、coco128数据集not exist、BrokenPipeErro

问题一: 运行detect.py 报错:AttributeError: Can’t get attribute ‘SPPF’ on <module ‘models.common’
在这里插入图片描述
原因:models文件夹的comon.py缺少SPPF类,这个类在yolov5的v6.0版本里有,这要复制过来即可,这里直接把代码发出来,省着各位朋友再去找了。

import warnings

class SPPF(nn.Module):
    # Spatial Pyramid Pooling - Fast (SPPF) layer for YOLOv5 by Glenn Jocher
    def __init__(self, c1, c2, k=5):  # equivalent to SPP(k=(5, 9, 13))
        super().__init__()
        c_ = c1 // 2  # hidden channels
        self.cv1 = Conv(c1, c_, 1, 1)
        self.cv2 = Conv(c_ * 4, c2, 1, 1)
        self.m = nn.MaxPool2d(kernel_size=k, stride=1, padding=k // 2)

    def forward(self, x):
        x = self.cv1(x)
        with warnings.catch_warnings():
            warnings.simplefilter('ignore')  # suppress torch 1.9.0 max_pool2d() warning
            y1 = self.m(x)
            y2 = self.m(y1)
            return self.cv2(torch.cat([x, y1, y2, self.m(y2)], 1))

注意:
(1)如果这个如果这个yolov5s.pt下载不下来的话,可以直接去我的资源里下载,里面包含了(yolov5s.pt、yolov5m.pt、yolov5l.pt、yolov5x.pt、yolov5n.pt),下载后只要复制到yolo文件夹中就可以使用。
在这里插入图片描述
在这里插入图片描述

(2)yolov5所在文件夹不要包含中文路径!很重要的一点。


运行detect.py在对应的runs/expn的文件夹里有以下的结果代表detect.py运行成功,yolov5自带两张图片用于检验模型。
在这里插入图片描述
问题二: coco128文件下载、coco128yaml文件更改、coco128数据集not exist问题

coco128.zip放在我的资源里了,有需要的可以下载。
1)运行train.py,遇到以下报错:
在这里插入图片描述
解决方法:将原文件中的main函数部分:
在这里插入图片描述
更改为:

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--weights', type=str, default='', help='initial weights path')
    parser.add_argument('--cfg', type=str, default='yolov5s.yaml', help='model.yaml path')

2)关于coco128\images\train2017 does not exist 问题
在这里插入图片描述
此问题需要对coco128yaml文件更改

这个搞了好久才终于解决,解决办法就是:
在yolov5文件夹中新建一个文件夹,我取名是MyData(任何名字都可以,不要是中文)用于存放coco128的images和labels
将coco128中的images和labels分别复制过来
在这里插入图片描述
如下图所示,然后将data文件夹中的coco128.yaml train,val路径更改,即可解决
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

train: MyData/images/train2017  # 128 images
val: MyData/images/train2017  # 128 images

运行train.py
在这里插入图片描述
3) 出现BrokenPipeError,这个是线程问题
在这里插入图片描述
将workers的默认参数更改一下就可以了。
在这里插入图片描述

  • 15
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值