当前位置: 首页 > news >正文

YOLOV7主干改进,使用fasternet轻量化改进主干(完整教程)

1,Pconv(来自Fasternet)(可作为模型中的基础卷积模块使用)

论文链接:https://arxiv.org/abs/2303.03667

2,为了大家方便的使用,这里我对原本的PConv的代码做了部分的改动,使得它的参数设置与Conv保持一致。大家直接将这一部分代码放到models/common.py的最后面。

import torch
import torch.nn as nn
import torch.nn.functional as F
class PConv(nn.Module):def __init__(self,dim: int,c2,k,s=1,n_div=2,forward: str = "split_cat",kernel_size: int = 3) -> None:super(PConv, self).__init__()self.dim_conv = dim//n_divself.dim_untouched = dim - self.dim_convself.conv = nn.Conv2d(self.dim_conv,self.dim_conv,kernel_size=k,stride=s,padding=k//2,bias=False)self.bn = nn.BatchNorm2d(dim)self.act = nn.SiLU()def forward(self,x):x1,x2 = torch.split(x,[self.dim_conv,self.dim_untouched],dim=1)x1 = self.conv(x1)x = torch.cat((x1,x2),1)return self.act(self.bn(x))

3,在models/yolo.py中将模块名添加上,大约是752行

4,自己动手diy配置文件yolov7.yaml文件。

这里有一个注意事项,因为PConv本身只是一个基本的卷积操作,因此它并不支持下采样和通道变换操作,因此为了尽可能的简单,大家直接在一些通道前后没改变的地方,没有进行下采样的地方使用PConv即可。

http://www.lryc.cn/news/242931.html

相关文章:

  • DALSA.SaperaLT.SapClassBasic无法加载,试图加载格式不正确的程序,c#
  • 设计模式-创建型模式-工厂方法模式
  • 科研/比赛必备工具及系列笔记集合
  • 萨科微举办工作交流和业务分享会
  • 一篇文章让你入门python集合和字典
  • 各种工具的快捷键或命令
  • 【Web】preg_match绕过相关例题wp
  • XSLVGL2.0 User Manual 主题管理器(v2.0)
  • visionOS空间计算实战开发教程Day 2 使用RealityKit显示3D素材
  • 【图解系列】一张图带你了解 DevOps 生态工具
  • Oracle的安装及使用流程
  • CMakeLists.txt:打印find_package变量;判断库文件路径设定是否正确;install文件设置
  • Mysql 解决Invalid default value for ‘created_at‘
  • Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)
  • nginx的n种用法(nginx安装+正向代理+反向代理+透明代理+负载均衡+静态服务器)
  • lvm 扩容根分区失败记录
  • 【机器学习】聚类(一):原型聚类:K-means聚类
  • 2824. 统计和小于目标的下标对数目 --力扣 --JAVA
  • github上不去
  • 图像处理Scharr 算子
  • JAVA 面向对象编程
  • 第十六章 解读深度学习中Batch Size、Iterations和Epochs(工具)
  • 基于UI交互意图理解的异常检测方法
  • ArgoWorkflow教程(一)---DevOps 另一选择?云原生 CICD: ArgoWorkflow 初体验
  • 数据结构与算法编程题24
  • springsecurity6配置四
  • OpenCV简介及安装
  • Unity调用dll踩坑记
  • Oracle 数据库基线安全加固操作
  • 安装最新版WebStorm来开发JavaScript应用程序