当前位置:   article > 正文

[yolov5/yolov8修改]替换yolov5/yolov8中的主干网络为EfficientNetv2_yolov5替换主干网络

yolov5替换主干网络

yolo系列的网络作为单阶段目标检测网络中的佼佼者,在目标检测方面发挥着很大的作用,而yolov5是其中较好的一代网络,yolov8是其中最新的一代网络。但是作为我们学习和使用来说,原始的yolov5或者yolov8网络并不一定就是最合适的,基于此,在yolov5的基础上,针对主干网络进行了替换,替换成EfficientNetv2网络,yolov8的替换方式也是类似的。主要步骤如下:

首先,我们需要在common.py文件中添加如下代码段:(建议添加在common.py文件的最后

  1. class stem(nn.Module):
  2. def __init__(self, c1, c2, kernel_size=3, stride=1, groups=1):
  3. super(stem, self).__init__()
  4. padding = (kernel_size-1) // 2
  5. self.conv = nn.Conv2d(c1, c2, kernel_size, stride, padding=padding, groups=groups, bias=False)
  6. self.bn = nn.BatchNorm2d(c2, eps=1e-3, momentum=0.1)
  7. self.act = nn.SiLU(True)
  8. def forward(self, x):
  9. #print(x.shape)
  10. x = self.conv(x)
  11. x = self.bn(x)
  12. x = self.act(x)
  13. return x
  14. def drop_path(x, drop_prob: float = 0., trainin
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/170951
推荐阅读
相关标签
  

闽ICP备14008679号