1.AttributeError: Cant get attribute SPPF on module models.common
解决方案是:去Tags6里面的model/common.py里面去找到这个SPPF的类,把它拷过来到你这个Tags5的model/common.py里面,这样你的代码就也有这个类了,还要引入一个warnings包就行了!
有的同学找不到SPPF这个类,那我现在直接粘贴在这里,你们只需要复制到你们的common.py里面即可,记得把import warnings放在上面去:
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))
转载自:本文链接:运行yolov5出现问题AttributeError: Cant get attribute SPPF on module models.common_Steven_Cary的博客-CSDN博客
2.win10背景下Yolov5官方代码中pycoctools报错解决方法
我选择了直接暴力安装,
进入cocotools官网下载pycocotools · PyPI需要的版本包,一般是要大于2.0的
下载后解压,直接将这两个标黑的文件复制粘贴
转载自:原文链接:解决yolov5运行环境——pycocotools >= 2.0 安装失败问题 error: Microsoft Visual C++ 14.0 or greater is required._嗨皮Sir的博客-CSDN博客
3.ImportError: cannot import name ‘imread‘ 问题解决
尝试了多种方法,重新安装scipy ,pillow,均不好用,最后发现是因为 scipy新版本把 imread 移除了
解决方法:
安装imageio模块
pip install imageio;
打开 \cs231n\data_utils.py
将from scipy.misc import imread
修改为:
from imageio import imread
转载:
原文链接:解决yolov5运行环境——pycocotools >= 2.0 安装失败问题 error: Microsoft Visual C++ 14.0 or greater is required._嗨皮Sir的博客-CSDN博客
4.RuntimeError: The size of tensor a (22) must match the size of tensor b (32) at non-singleton dimens
维度问题
使用print查看了x的维度和out的维度,发现
out = torch.Size([10, 300, 22, 22])
x = torch.Size([10, 3, 32, 32])
为什么输入x是图片是3232大小,out就变成了2222?
仔细检查网络,发现具有3*3卷积核的卷积层没有加padding=1。导致每次卷积图片缩小1个单位。
解决方法
将具有3*3卷积核的卷积层
nn.Conv2d(planes, planes, kernel_size=3, bias=False),
改为
nn.Conv2d(planes, planes, kernel_size=3, padding=1, bias=False),
转载自:
链接:RuntimeError: The size of tensor a (22) must match the size of tensor b (32) at non-singleton dimens_偶尔躺平的咸鱼的博客-CSDN博客
5.一些关于环境中缺失包.ImportError: cannot import name ‘***‘
6.ValueError: not enough values to unpack (expected 3, got 0)
尚未解决