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

opencart zencart网站建设上海外贸服装尾货市场

opencart zencart网站建设,上海外贸服装尾货市场,台州品牌设计公司,汶上网站建设秋招面试专栏推荐 #xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 #x1f4a1;#x1f4a1;#x1f4a1;本专栏所有程序均经过测试#xff0c;可成功执行#x1f4a1;#x1f4a1;#x1f4a1; 本文给大家带来的教程是将YOLO11的卷积替… 秋招面试专栏推荐 深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 本专栏所有程序均经过测试可成功执行 本文给大家带来的教程是将YOLO11的卷积替换为SKConv结构来提取特征。文章在介绍主要的原理后将手把手教学如何进行模块的代码添加和修改并将修改后的完整代码放在文章的最后方便大家一键运行小白也可轻松上手实践。以帮助您更好地学习深度学习目标检测YOLO系列的挑战。  专栏地址YOLO11入门 改进涨点——点击即可跳转 欢迎订阅 目录 1.论文 2. SKConv代码实现 2.1 将SKConv添加到YOLO11中 2.2 更改init.py文件 2.3 添加yaml文件 2.4 在task.py中进行注册 2.5 执行程序 3.修改后的网络结构图 4. 完整代码分享 5. GFLOPs 6. 进阶 7.总结 1.论文 官方论文Selective Kernel Networks——点击即可跳转 官方代码代码仓库地址——点击即可跳转 2. SKConv代码实现 2.1 将SKConv添加到YOLO11中 关键步骤一将下面代码粘贴到在/ultralytics/ultralytics/nn/modules/conv.py中 class SKConv(nn.Module):def __init__(self, features, WH, M2, G1, r2, stride1, L32): ConstructorArgs:features: input channel dimensionality.WH: input spatial dimensionality, used for GAP kernel size.M: the number of branchs.G: num of convolution groups.r: the radio for compute d, the length of z.stride: stride, default 1.L: the minimum dim of the vector z in paper, default 32.super(SKConv, self).__init__()d max(int(features / r), L)self.M Mself.features featuresself.convs nn.ModuleList([])for i in range(M):self.convs.append(nn.Sequential(nn.Conv2d(features,features,kernel_size3 i * 2,stridestride,padding1 i,groupsG), nn.BatchNorm2d(features),nn.ReLU(inplaceFalse)))# self.gap nn.AvgPool2d(int(WH/stride))# print(D:, d)self.fc nn.Linear(features, d)self.fcs nn.ModuleList([])for i in range(M):self.fcs.append(nn.Linear(d, features))self.softmax nn.Softmax(dim1)def forward(self, x):for i, conv in enumerate(self.convs):fea conv(x).unsqueeze_(dim1)if i 0:feas feaelse:feas torch.cat([feas, fea], dim1)fea_U torch.sum(feas, dim1)# fea_s self.gap(fea_U).squeeze_()fea_s fea_U.mean(-1).mean(-1)fea_z self.fc(fea_s)for i, fc in enumerate(self.fcs):# print(i, fea_z.shape)vector fc(fea_z).unsqueeze_(dim1)# print(i, vector.shape)if i 0:attention_vectors vectorelse:attention_vectors torch.cat([attention_vectors, vector],dim1)attention_vectors self.softmax(attention_vectors)attention_vectors attention_vectors.unsqueeze(-1).unsqueeze(-1)fea_v (feas * attention_vectors).sum(dim1)return fea_v 2.2 更改init.py文件 关键步骤二修改modules文件夹下的__init__.py文件先导入函数 然后在下面的__all__中声明函数 2.3 添加yaml文件 关键步骤三在/ultralytics/ultralytics/cfg/models/11下面新建文件yolo11_SKConv.yaml文件粘贴下面的内容 目标检测 # Ultralytics YOLO , AGPL-3.0 license # YOLO11 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parameters nc: 80 # number of classes scales: # model compound scaling constants, i.e. modelyolo11n.yaml will call yolo11.yaml with scale n# [depth, width, max_channels]n: [0.50, 0.25, 1024] # summary: 319 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPss: [0.50, 0.50, 1024] # summary: 319 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPsm: [0.50, 1.00, 512] # summary: 409 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPsl: [1.00, 1.00, 512] # summary: 631 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPsx: [1.00, 1.50, 512] # summary: 631 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs# YOLO11n backbone backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4- [-1, 2, C3k2, [256, False, 0.25]]- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8- [-1, 2, C3k2, [512, False, 0.25]]- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16- [-1, 2, C3k2, [512, True]]- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32- [-1, 2, C3k2, [1024, True]]- [-1, 1, SPPF, [1024, 5]] # 9- [-1, 2, C2PSA, [1024]] # 10# YOLO11n head head:- [-1, 1, nn.Upsample, [None, 2, nearest]]- [[-1, 6], 1, Concat, [1]] # cat backbone P4- [-1, 2, C3k2, [512, False]] # 13- [-1, 1, nn.Upsample, [None, 2, nearest]]- [[-1, 4], 1, Concat, [1]] # cat backbone P3- [-1, 2, C3k2, [256, False]] # 16 (P3/8-small)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 13], 1, Concat, [1]] # cat head P4- [-1, 2, C3k2, [512, False]] # 19 (P4/16-medium)- [-1, 1, SKConv, [512]] - [-1, 1, Conv, [512, 3, 2]]- [[-1, 10], 1, Concat, [1]] # cat head P5- [-1, 2, C3k2, [1024, True]] # 22 (P5/32-large)- [[16, 19, 23], 1, Detect, [nc]] # Detect(P3, P4, P5) 语义分割 # Ultralytics YOLO , AGPL-3.0 license # YOLO11 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parameters nc: 80 # number of classes scales: # model compound scaling constants, i.e. modelyolo11n.yaml will call yolo11.yaml with scale n# [depth, width, max_channels]n: [0.50, 0.25, 1024] # summary: 319 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPss: [0.50, 0.50, 1024] # summary: 319 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPsm: [0.50, 1.00, 512] # summary: 409 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPsl: [1.00, 1.00, 512] # summary: 631 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPsx: [1.00, 1.50, 512] # summary: 631 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs# YOLO11n backbone backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4- [-1, 2, C3k2, [256, False, 0.25]]- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8- [-1, 2, C3k2, [512, False, 0.25]]- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16- [-1, 2, C3k2, [512, True]]- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32- [-1, 2, C3k2, [1024, True]]- [-1, 1, SPPF, [1024, 5]] # 9- [-1, 2, C2PSA, [1024]] # 10# YOLO11n head head:- [-1, 1, nn.Upsample, [None, 2, nearest]]- [[-1, 6], 1, Concat, [1]] # cat backbone P4- [-1, 2, C3k2, [512, False]] # 13- [-1, 1, nn.Upsample, [None, 2, nearest]]- [[-1, 4], 1, Concat, [1]] # cat backbone P3- [-1, 2, C3k2, [256, False]] # 16 (P3/8-small)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 13], 1, Concat, [1]] # cat head P4- [-1, 2, C3k2, [512, False]] # 19 (P4/16-medium)- [-1, 1, SKConv, [512]] - [-1, 1, Conv, [512, 3, 2]]- [[-1, 10], 1, Concat, [1]] # cat head P5- [-1, 2, C3k2, [1024, True]] # 22 (P5/32-large)- [[16, 19, 23], 1, Segment, [nc, 32, 256]] # Segment(P3, P4, P5) 旋转目标检测 # Ultralytics YOLO , AGPL-3.0 license # YOLO11 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parameters nc: 80 # number of classes scales: # model compound scaling constants, i.e. modelyolo11n.yaml will call yolo11.yaml with scale n# [depth, width, max_channels]n: [0.50, 0.25, 1024] # summary: 319 layers, 2624080 parameters, 2624064 gradients, 6.6 GFLOPss: [0.50, 0.50, 1024] # summary: 319 layers, 9458752 parameters, 9458736 gradients, 21.7 GFLOPsm: [0.50, 1.00, 512] # summary: 409 layers, 20114688 parameters, 20114672 gradients, 68.5 GFLOPsl: [1.00, 1.00, 512] # summary: 631 layers, 25372160 parameters, 25372144 gradients, 87.6 GFLOPsx: [1.00, 1.50, 512] # summary: 631 layers, 56966176 parameters, 56966160 gradients, 196.0 GFLOPs# YOLO11n backbone backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4- [-1, 2, C3k2, [256, False, 0.25]]- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8- [-1, 2, C3k2, [512, False, 0.25]]- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16- [-1, 2, C3k2, [512, True]]- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32- [-1, 2, C3k2, [1024, True]]- [-1, 1, SPPF, [1024, 5]] # 9- [-1, 2, C2PSA, [1024]] # 10# YOLO11n head head:- [-1, 1, nn.Upsample, [None, 2, nearest]]- [[-1, 6], 1, Concat, [1]] # cat backbone P4- [-1, 2, C3k2, [512, False]] # 13- [-1, 1, nn.Upsample, [None, 2, nearest]]- [[-1, 4], 1, Concat, [1]] # cat backbone P3- [-1, 2, C3k2, [256, False]] # 16 (P3/8-small)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 13], 1, Concat, [1]] # cat head P4- [-1, 2, C3k2, [512, False]] # 19 (P4/16-medium)- [-1, 1, SKConv, [512]] - [-1, 1, Conv, [512, 3, 2]]- [[-1, 10], 1, Concat, [1]] # cat head P5- [-1, 2, C3k2, [1024, True]] # 22 (P5/32-large)- [[16, 19, 23], 1, OBB, [nc, 1]] # OBB(P3, P4, P5) 温馨提示本文只是对yolo11基础上添加模块如果要对yolo11n/l/m/x进行添加则只需要指定对应的depth_multiple 和 width_multiple # YOLO11n depth_multiple: 0.50 # model depth multiple width_multiple: 0.25 # layer channel multiple max_channel1024# YOLO11s depth_multiple: 0.50 # model depth multiple width_multiple: 0.50 # layer channel multiple max_channel1024# YOLO11m depth_multiple: 0.50 # model depth multiple width_multiple: 1.00 # layer channel multiple max_channel512# YOLO11l depth_multiple: 1.00 # model depth multiple width_multiple: 1.00 # layer channel multiple max_channel512 # YOLO11x depth_multiple: 1.00 # model depth multiple width_multiple: 1.50 # layer channel multiple max_channel512 2.4 在task.py中进行注册 关键步骤四在parse_model函数中进行注册添加SKConv 先在task.py导入函数 然后在task.py文件下找到parse_model这个函数如下图添加SKConv 2.5 执行程序 关键步骤五: 在ultralytics文件中新建train.py将model的参数路径设置为yolo11_SKConv.yaml的路径即可 from ultralytics import YOLO import warnings warnings.filterwarnings(ignore) from pathlib import Pathif __name__ __main__:# 加载模型model YOLO(ultralytics/cfg/11/yolo11.yaml) # 你要选择的模型yaml文件地址# Use the modelresults model.train(datar你的数据集的yaml文件地址,epochs100, batch16, imgsz640, workers4, namePath(model.cfg).stem) # 训练模型 运行程序如果出现下面的内容则说明添加成功   from n params module arguments0 -1 1 464 ultralytics.nn.modules.conv.Conv [3, 16, 3, 2]1 -1 1 4672 ultralytics.nn.modules.conv.Conv [16, 32, 3, 2]2 -1 2 9088 ultralytics.nn.modules.block.C3k2 [32, 32, 2, True]3 -1 1 18560 ultralytics.nn.modules.conv.Conv [32, 64, 3, 2]4 -1 3 49152 ultralytics.nn.modules.block.C3k2 [64, 64, 3, True]5 -1 1 73984 ultralytics.nn.modules.conv.Conv [64, 128, 3, 2]6 -1 3 493248 ultralytics.nn.modules.conv.SKConv [128, 128, True]7 -1 1 295424 ultralytics.nn.modules.conv.Conv [128, 256, 3, 2]8 -1 2 560128 ultralytics.nn.modules.block.C3k2 [256, 256, 2, True]9 -1 1 164608 ultralytics.nn.modules.block.SPPF [256, 256, 5]10 -1 1 249728 ultralytics.nn.modules.block.C2PSA [256, 256, 1]11 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, nearest]12 [-1, 6] 1 0 ultralytics.nn.modules.conv.Concat [1]13 -1 1 111296 ultralytics.nn.modules.block.C3k2 [384, 128, 1, False]14 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, nearest]15 [-1, 4] 1 0 ultralytics.nn.modules.conv.Concat [1]16 -1 1 28000 ultralytics.nn.modules.block.C3k2 [192, 64, 1, False]17 -1 1 36992 ultralytics.nn.modules.conv.Conv [64, 64, 3, 2]18 [-1, 13] 1 0 ultralytics.nn.modules.conv.Concat [1]19 -1 1 86720 ultralytics.nn.modules.block.C3k2 [192, 128, 1, False]20 -1 1 147712 ultralytics.nn.modules.conv.Conv [128, 128, 3, 2]21 [-1, 10] 1 0 ultralytics.nn.modules.conv.Concat [1]22 -1 1 378880 ultralytics.nn.modules.block.C3k2 [384, 256, 1, True]23 [16, 19, 22] 1 464912 ultralytics.nn.modules.head.Detect [80, [64, 128, 256]] YOLO11_SKConv summary: 453 layers, 3,173,568 parameters, 3,173,552 gradients, 7.9 GFLOPs 3.修改后的网络结构图 4. 完整代码分享 这个后期补充吧~先按照步骤来即可 5. GFLOPs 关于GFLOPs的计算方式可以查看百面算法工程师 | 卷积基础知识——Convolution 未改进的YOLO11n GFLOPs 改进后的GFLOPs 6. 进阶 可以与其他的注意力机制或者损失函数等结合进一步提升检测效果 7.总结 通过以上的改进方法我们成功提升了模型的表现。这只是一个开始未来还有更多优化和技术深挖的空间。在这里我想隆重向大家推荐我的专栏——专栏地址YOLO11入门 改进涨点——点击即可跳转 欢迎订阅。这个专栏专注于前沿的深度学习技术特别是目标检测领域的最新进展不仅包含对YOLO11的深入解析和改进策略还会定期更新来自各大顶会如CVPR、NeurIPS等的论文复现和实战分享。 为什么订阅我的专栏 ——专栏地址YOLO11入门 改进涨点——点击即可跳转 欢迎订阅 前沿技术解读专栏不仅限于YOLO系列的改进还会涵盖各类主流与新兴网络的最新研究成果帮助你紧跟技术潮流。 详尽的实践分享所有内容实践性也极强。每次更新都会附带代码和具体的改进步骤保证每位读者都能迅速上手。 问题互动与答疑订阅我的专栏后你将可以随时向我提问获取及时的答疑。 实时更新紧跟行业动态不定期发布来自全球顶会的最新研究方向和复现实验报告让你时刻走在技术前沿。 专栏适合人群 对目标检测、YOLO系列网络有深厚兴趣的同学 希望在用YOLO算法写论文的同学 对YOLO算法感兴趣的同学等
http://www.w-s-a.com/news/665427/

相关文章:

  • 网站建设的优势是什么意思可拖动网站
  • 建设什么企业网站网站微信认证
  • 网站开发的平台成都有哪些好玩的
  • 上海金瑞建设集团网站怎么创建免费网页
  • 柳州做网站设计的公司制作网站软件下载
  • 湖南seo网站开发苏州网络营销及网站推广
  • 如何发布自己做的网站郑州网站建设定制开发
  • 重庆网站商城宁波网络公司联系方式
  • 个人网站建设实验心得seo课程简介
  • 免费自助建站系统下载推广app网站
  • 用scala做的网站标题关键词优化技巧
  • 百度网站评级wordpress忘记admin
  • 建筑标准下载网站263企业邮箱 登陆
  • 旅游房地产网站建设德保网站建设
  • 网站高端建设wordpress订单系统
  • 建设网站成本增加网站备案
  • 行业网站建设方案百度云图片转wordpress
  • 如何建设网站推广平台营销客户管理软件
  • 网站制作南宁如何撰写一个网站规划建设方案
  • 建站网站和维护需要会什么杭州人防质监站网址
  • 唐山免费做网站莱芜吧贴吧最新消息
  • 韶关市建设工程造价网站网络营销的平台有哪些
  • 网站建设费大概多少钱成都网站建设低价
  • 做表格的网站东莞常平房价
  • 国家级建设网站高密做网站哪家强价位
  • 江西省新的建设厅三类人员网站做标记网站
  • 做最精彩绳艺网站产品设计培训
  • 营销型网站建设品牌深圳网络推广最新招聘
  • 单位网站等级保护必须做吗广州app软件开发公司
  • 免费flash网站模板怎么仿网站链接