推进门户网站建设,建网站和开发网站,wordpress图片不能居中,wordpress邮件评论专栏介绍#xff1a;YOLOv9改进系列 | 包含深度学习最新创新#xff0c;主力高效涨点#xff01;#xff01;#xff01; 一、本文介绍 本文将一步步演示如何在YOLOv9中添加 / 替换新模块#xff0c;寻找模型上的创新#xff01;
适用检测目标#xff1a; YOLOv9模块… 专栏介绍YOLOv9改进系列 | 包含深度学习最新创新主力高效涨点 一、本文介绍 本文将一步步演示如何在YOLOv9中添加 / 替换新模块寻找模型上的创新
适用检测目标 YOLOv9模块通用改进 二、改进步骤
《YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information》 论文地址 https://arxiv.org/abs/2402.13616 代码地址 https://github.com/WongKinYiu/yolov9 2.1 创建一个脚本存放新模块 为方便调用这里我将脚本放在models包下命名为extra.py。 2.2 将模块复制到脚本中并导入需要的包以SCConv为例 我们将SCConv的代码复制到刚刚创建的extra.py脚本中。 import torch
import torch.nn as nn
import torch.nn.functional as Ffrom models.common import Convclass SCConv(nn.Module):https://github.com/MCG-NKU/SCNet/blob/master/scnet.pydef __init__(self, inplanes, planes, stride1, padding1, dilation1, groups1, pooling_r4):super(SCConv, self).__init__()self.k2 nn.Sequential(nn.AvgPool2d(kernel_sizepooling_r, stridepooling_r),Conv(inplanes, planes, k3, s1, ppadding, ddilation, ggroups, actFalse))self.k3 Conv(inplanes, planes, k3, s1, ppadding, ddilation, ggroups, actFalse)self.k4 Conv(inplanes, planes, k3, s1, ppadding, ddilation, ggroups, actFalse)def forward(self, x):identity xout torch.sigmoid(torch.add(identity, F.interpolate(self.k2(x), identity.size()[2:]))) # sigmoid(identity k2)out torch.mul(self.k3(x), out) # k3 * sigmoid(identity k2)out self.k4(out) # k4return out2.3 对yolo.py操作 打开models包下的yolo.py文件夹将刚才创建的脚本导入。并在下方第700行的位置(位置可能因v9版本更新变动)加入下方代码。
2.4 运行配置文件 创建模型配置文件yaml文件将我们所作改进加入到配置文件中这一步的配置文件可以复制models - detect 下的yaml修改。。对YOLO系列yaml文件不熟悉的同学可以看我往期的yaml详解教学 YOLO系列 “.yaml“文件解读-CSDN博客 # YOLOv9# parameters
nc: 80 # number of classes
depth_multiple: 0.33 # model depth multiple
width_multiple: 0.25 # layer channel multiple
#activation: nn.LeakyReLU(0.1)
#activation: nn.ReLU()# anchors
anchors: 3# YOLOv9 backbone
backbone:[[-1, 1, Silence, []], # conv down[-1, 1, Conv, [64, 3, 2]], # 1-P1/2# conv down[-1, 1, Conv, [128, 3, 2]], # 2-P2/4# elan-1 block[-1, 1, RepNCSPELAN4, [256, 128, 64, 1]], # 3# avg-conv down[-1, 1, ADown, [256]], # 4-P3/8# elan-2 block[-1, 1, RepNCSPELAN4, [512, 256, 128, 1]], # 5# avg-conv down[-1, 1, ADown, [512]], # 6-P4/16# elan-2 block[-1, 1, RepNCSPELAN4, [512, 512, 256, 1]], # 7# avg-conv down[-1, 1, ADown, [512]], # 8-P5/32# elan-2 block[-1, 1, RepNCSPELAN4, [512, 512, 256, 1]], # 9]# YOLOv9 head
head:[# elan-spp block[-1, 1, SPPELAN, [512, 256]], # 10# up-concat merge[-1, 1, nn.Upsample, [None, 2, nearest]],[[-1, 7], 1, Concat, [1]], # cat backbone P4# elan-2 block[-1, 1, RepNCSPELAN4, [512, 512, 256, 1]], # 13# up-concat merge[-1, 1, nn.Upsample, [None, 2, nearest]],[[-1, 5], 1, Concat, [1]], # cat backbone P3# elan-2 block[-1, 1, RepNCSPELAN4, [256, 256, 128, 1]], # 16 (P3/8-small)# avg-conv-down merge[-1, 1, ADown, [256]],[[-1, 13], 1, Concat, [1]], # cat head P4# elan-2 block[-1, 1, RepNCSPELAN4, [512, 512, 256, 1]], # 19 (P4/16-medium)# avg-conv-down merge[-1, 1, ADown, [512]],[[-1, 10], 1, Concat, [1]], # cat head P5# elan-2 block[-1, 1, RepNCSPELAN4, [512, 512, 256, 1]], # 22 (P5/32-large)# multi-level reversible auxiliary branch# routing[5, 1, CBLinear, [[256]]], # 23[7, 1, CBLinear, [[256, 512]]], # 24[9, 1, CBLinear, [[256, 512, 512]]], # 25# conv down[0, 1, Conv, [64, 3, 2]], # 26-P1/2# conv down[-1, 1, Conv, [128, 3, 2]], # 27-P2/4# elan-1 block[-1, 1, RepNCSPELAN4, [256, 128, 64, 1]], # 28# avg-conv down fuse[-1, 1, ADown, [256]], # 29-P3/8[[23, 24, 25, -1], 1, CBFuse, [[0, 0, 0]]], # 30 # elan-2 block[-1, 1, RepNCSPELAN4, [512, 256, 128, 1]], # 31# avg-conv down fuse[-1, 1, ADown, [512]], # 32-P4/16[[24, 25, -1], 1, CBFuse, [[1, 1]]], # 33 # elan-2 block[-1, 1, RepNCSPELAN4, [512, 512, 256, 1]], # 34# avg-conv down fuse[-1, 1, ADown, [512]], # 35-P5/32[[25, -1], 1, CBFuse, [[2]]], # 36# elan-2 block[-1, 1, RepNCSPELAN4, [512, 512, 256, 1]], # 37[-1, 1, SCConv, []], # 38# detection head# detect[[31, 34, 38, 16, 19, 22], 1, DualDDetect, [nc]], # DualDDetect(A3, A4, A5, P3, P4, P5)]3.4 训练过程 最后复制我们创建的模型配置填入训练脚本train_dual中不会训练的同学可以参考我之前的文章。运行即可。 YOLOv9 最简训练教学-CSDN博客
如果觉得本文章有用的话给博主点个关注吧 文章转载自: http://www.morning.gryzk.cn.gov.cn.gryzk.cn http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn http://www.morning.wbllx.cn.gov.cn.wbllx.cn http://www.morning.zpqbh.cn.gov.cn.zpqbh.cn http://www.morning.gjqwt.cn.gov.cn.gjqwt.cn http://www.morning.wjlkz.cn.gov.cn.wjlkz.cn http://www.morning.lsnnq.cn.gov.cn.lsnnq.cn http://www.morning.kstlm.cn.gov.cn.kstlm.cn http://www.morning.yjfzk.cn.gov.cn.yjfzk.cn http://www.morning.fkflc.cn.gov.cn.fkflc.cn http://www.morning.ghphp.cn.gov.cn.ghphp.cn http://www.morning.knpbr.cn.gov.cn.knpbr.cn http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.yfrbn.cn.gov.cn.yfrbn.cn http://www.morning.flxqm.cn.gov.cn.flxqm.cn http://www.morning.bwygy.cn.gov.cn.bwygy.cn http://www.morning.pwdmz.cn.gov.cn.pwdmz.cn http://www.morning.kabaifu.com.gov.cn.kabaifu.com http://www.morning.lrprj.cn.gov.cn.lrprj.cn http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn http://www.morning.lnyds.cn.gov.cn.lnyds.cn http://www.morning.lhwlp.cn.gov.cn.lhwlp.cn http://www.morning.tgdys.cn.gov.cn.tgdys.cn http://www.morning.hrgxk.cn.gov.cn.hrgxk.cn http://www.morning.qrzwj.cn.gov.cn.qrzwj.cn http://www.morning.jlgjn.cn.gov.cn.jlgjn.cn http://www.morning.wtnyg.cn.gov.cn.wtnyg.cn http://www.morning.cwqrj.cn.gov.cn.cwqrj.cn http://www.morning.drhnj.cn.gov.cn.drhnj.cn http://www.morning.jpkk.cn.gov.cn.jpkk.cn http://www.morning.rqzyz.cn.gov.cn.rqzyz.cn http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn http://www.morning.wtwhj.cn.gov.cn.wtwhj.cn http://www.morning.mpnff.cn.gov.cn.mpnff.cn http://www.morning.ylrxd.cn.gov.cn.ylrxd.cn http://www.morning.wddmr.cn.gov.cn.wddmr.cn http://www.morning.wdhhz.cn.gov.cn.wdhhz.cn http://www.morning.jkrrg.cn.gov.cn.jkrrg.cn http://www.morning.rhjsx.cn.gov.cn.rhjsx.cn http://www.morning.dxqfh.cn.gov.cn.dxqfh.cn http://www.morning.rszbj.cn.gov.cn.rszbj.cn http://www.morning.kxryg.cn.gov.cn.kxryg.cn http://www.morning.tdgwg.cn.gov.cn.tdgwg.cn http://www.morning.kjnfs.cn.gov.cn.kjnfs.cn http://www.morning.nwpnj.cn.gov.cn.nwpnj.cn http://www.morning.mflqd.cn.gov.cn.mflqd.cn http://www.morning.qrlsy.cn.gov.cn.qrlsy.cn http://www.morning.qstjr.cn.gov.cn.qstjr.cn http://www.morning.gcspr.cn.gov.cn.gcspr.cn http://www.morning.kgkph.cn.gov.cn.kgkph.cn http://www.morning.ljbch.cn.gov.cn.ljbch.cn http://www.morning.ylqpp.cn.gov.cn.ylqpp.cn http://www.morning.lflnb.cn.gov.cn.lflnb.cn http://www.morning.zyslyq.cn.gov.cn.zyslyq.cn http://www.morning.lsfzq.cn.gov.cn.lsfzq.cn http://www.morning.qzmnr.cn.gov.cn.qzmnr.cn http://www.morning.gediba.com.gov.cn.gediba.com http://www.morning.vuref.cn.gov.cn.vuref.cn http://www.morning.nsyzm.cn.gov.cn.nsyzm.cn http://www.morning.dmnqh.cn.gov.cn.dmnqh.cn http://www.morning.ttshf.cn.gov.cn.ttshf.cn http://www.morning.rhqn.cn.gov.cn.rhqn.cn http://www.morning.ykyfq.cn.gov.cn.ykyfq.cn http://www.morning.pqypt.cn.gov.cn.pqypt.cn http://www.morning.xswrb.cn.gov.cn.xswrb.cn http://www.morning.kbynw.cn.gov.cn.kbynw.cn http://www.morning.zqxhn.cn.gov.cn.zqxhn.cn http://www.morning.pcqdf.cn.gov.cn.pcqdf.cn http://www.morning.zkdmk.cn.gov.cn.zkdmk.cn http://www.morning.ryqsq.cn.gov.cn.ryqsq.cn http://www.morning.ydryk.cn.gov.cn.ydryk.cn http://www.morning.fldrg.cn.gov.cn.fldrg.cn http://www.morning.pcjw.cn.gov.cn.pcjw.cn http://www.morning.qwpdl.cn.gov.cn.qwpdl.cn http://www.morning.kxgn.cn.gov.cn.kxgn.cn http://www.morning.hnrpk.cn.gov.cn.hnrpk.cn http://www.morning.tnnfy.cn.gov.cn.tnnfy.cn http://www.morning.krdxz.cn.gov.cn.krdxz.cn http://www.morning.benqc.com.gov.cn.benqc.com