AttributeError: Can‘t get attribute ‘SPPF‘....和RuntimeError: The size of tensor a (60) must match...

第一次运行YOLOv5时可能会出现的问题

1.运行YOLOv5出现报错:AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘H:\yolov5-5.0\models\

2.运行YOLOv5出现报错:RuntimeError: The size of tensor a (60) must match the size of tensor b (56) at non-singLeton dimension 3

1.运行YOLOv5出现报错找不到SPPF错误,进行解决AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘H:\yolov5-5.0\models\

解决办法如下:首先找到YOLOv5下的这个文件打开

在这里插入图片描述

点开common.py 往下翻找到class SPP这一行,在我电脑上是157行,在这一行上面添加下面的程序添加class SPPF

在这里插入图片描述

class SPPF(nn.Module):
    def __init__(self, c1, c2, k=5):
        super().__init__()
        c_ = c1 // 2
        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')
            y1 = self.m(x)
            y2 = self.m(y1)
            return self.cv2(torch.cat([x, y1, y2, self.m(y2)], 1))

将上边代码添加之后如图所示

在这里插入图片描述

添加完成之后要是直接运行,会遇到问题NameError: name ‘warnings‘ is not defined

解决办法是在common.py 这个文件最上边还要导入import warnings

在这里插入图片描述

再运行程序就不会报错了。

2. YOLOV5运行中报错:RuntimeError: The size of tensor a (60) must match the size of tensor b (56) at non-singLeton dimension 3

原因分析:出现这个错误是因为到models文件下的common.py添加v6.1的SPPF类并添加import warnings包,这个解决方法会带来以上的报错

解决方法:重新下载yolov5s.pt权重文件,下载下来替换掉工程文件夹里的yolov5s.pt文件。

下载地址:https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt

如果对你有用麻烦点个赞,谢谢啦!

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AttributeError: Can't get attribute 'SPPF' on <module 'models.common' from 'D:\\PyCharmProject\\yolov5-5.0\\yolov5-5.0\\models\\common.py'> 这个错误是由于在<module 'models.common' from 'D:\\PyCharmProject\\yolov5-5.0\\yolov5-5.0\\models\\common.py'>模块中找不到名为'SPPF'的属性所引起的。提供的信息中,没有具体给出关于'SPPF'的详细说明。然而,根据引用中提到的'models.common'模块路径,我可以推测这个错误可能与该模块中的代码有关。 要解决这个问题,您可以采取以下步骤: 1. 确认您的代码中引用了正确的模块和属性。检查导入语句和代码中的拼写错误或者命名错误。 2. 检查您的代码中是否遵循了正确的调用方法和语法。确保正确地使用了属性或方法,并避免错误的参数传递。 3. 确保您的代码中的依赖项和库已经正确地安装和配置。检查您的环境和依赖项是否缺失或不匹配。 4. 如果您是使用第三方库或框架,尝试查找相关文档或社区支持,以获取更多关于'SPPF'的信息和解决方法。 根据以上步骤,您可以定位并解决引起AttributeError的原因,并修复代码中的错误。请注意,在解决问题时,详细阅读错误消息和相关文档可能会对您有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [进行解决AttributeError: Can‘t get attributeSPPF‘ on <module ‘models.common‘ from](https://blog.csdn.net/m0_50004939/article/details/126739291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [AttributeError: Cant get attribute SPPF on module models](https://blog.csdn.net/qq_41704415/article/details/121860291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值