当前位置:   article > 正文

【修改yolov5】给yolov5更换主干网络ShuffleNetv2_yolov5更换轻量化主干

yolov5更换轻量化主干

看了迪导给yolov5网络更换主干网络ShuffleNetv2的操作后,跟着他的操作步骤更换了我自己正在学习的yolov5网络的主干,并在最后用改过后的网络跑了一下自己的数据集。以下是修改步骤:

要更换网络首先得在common.py文件中添加函数,添加的代码如下:

  1. def channel_shuffle(x, groups):
  2. batchsize, num_channels, height, width = x.data.size()
  3. channels_per_group = num_channels // groups
  4. x = x.view(batchsize, groups, channels_per_group, height, width)
  5. x = torch.transpose(x, 1, 2).contiguous()
  6. x = x.view(batchsize, -1, height, width)
  7. return x
  8. class CBRM(nn.Module):
  9. def __init__(self, c1, c2):
  10. super(CBRM, self).__init__()
  11. self.conv = nn.Sequential(
  12. nn.Conv2d(c1, c2, kernel_size=3, stride=2, padding=1, bias=False),
  13. nn.BatchNorm2d(c2),
  14. nn.ReLU(inplace=True),
  15. )
  16. self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  17. def forward
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/170963
推荐阅读
相关标签
  

闽ICP备14008679号