当前位置:   article > 正文

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

yolo5 x.pt

问题一: 运行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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

注意:
(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')
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/826195
推荐阅读
相关标签
  

闽ICP备14008679号