Leslie的深度学习日记:Yolov5-5.0 解决报错:AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘
问题
运行detect.py文件出现以下报错:
问题解决:
- 找到common.py文件
- 在common.py文件中找到class SPP处(大概在一百六十几行处)
在class SPP上面添加class SPPF类
注意:把这段代码copy上去之后要导入warnings包
import warnings
代码如下:
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))
然后这个报错就搞定啦!再次运行又是一个全新的报错
开心死了哈哈
问题拓展:
有关SPP和SPFF介绍:
深度学习真好玩我哭死