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

网站建设需要哪些技能榆中建设投资有限公司网站

网站建设需要哪些技能,榆中建设投资有限公司网站,南京网站建设哪家专业,网站主页设计前言 YOLOv5就像一座金矿#xff0c;里面有无数可以学习的东西。之前的博文一直将YOLOv5当作一个黑盒使用#xff0c;只考虑模型的输入和输出#xff0c;以此来对模型进行二次开发。 本篇博文将更近一层#xff0c;深入到“金矿”内部#xff0c;来尝试对模型结构进行替换…前言 YOLOv5就像一座金矿里面有无数可以学习的东西。之前的博文一直将YOLOv5当作一个黑盒使用只考虑模型的输入和输出以此来对模型进行二次开发。 本篇博文将更近一层深入到“金矿”内部来尝试对模型结构进行替换。 模型构建解析 YOLOv5是通过yaml格式的模型配置文件来搭建模型架构的这里我之前的博文【目标检测】YOLOv5模型构建解析已经做过了解读对此不再复述。 YOLOv5模型主要分5.0和6.0及以上版本两者有少许区别本文以后者模型为主。 YOLOv5s模型架构图如下此图来源于目标检测 YOLOv5网络v6 0版本总结 修改模型 本文修改的目标是修改18、21这两个卷积块这里是通过一个卷积核为3步长为2的卷积核实现下采样我的目标是修改为两个不同尺寸的卷积核输出结果为两个不同卷积核之和。 验证维度 修改尺寸最麻烦的就是维度变化因此在修改之前最好对修改的部分单独模拟数据查看shape。 下面是一个测试示例 import torch.nn as nn import torchdef autopad(k, pNone, d1): # kernel, padding, dilation# Pad to same shape outputsif d 1:k d * (k - 1) 1 if isinstance(k, int) else [d * (x - 1) 1 for x in k] # actual kernel-sizeif p is None:p k // 2 if isinstance(k, int) else [x // 2 for x in k] # auto-padreturn pclass Conv(nn.Module):# Standard convolution with args(ch_in, ch_out, kernel, stride, padding, groups, dilation, activation)default_act nn.SiLU() # default activationdef __init__(self, c1, c2, k1, s1, pNone, g1, d1, actTrue):super().__init__()self.conv nn.Conv2d(c1, c2, k, s, autopad(k, p, d), groupsg, dilationd, biasFalse)self.bn nn.BatchNorm2d(c2)self.act self.default_act if act is True else act if isinstance(act, nn.Module) else nn.Identity()def forward(self, x):return self.act(self.bn(self.conv(x)))def forward_fuse(self, x):return self.act(self.conv(x))class Multi_Conv(nn.Module):# Multi Different Kernel-size Convdef __init__(self, c1, c2, e1.0):super().__init__()c_ int(c2 * e)self.cv1 Conv(c1, c_, 3, 2)self.cv2 Conv(c1, c_, 7, 2)def forward(self, x):return self.cv1(x) self.cv2(x)if __name__ __main__:input_tensor torch.rand(1, 128, 80, 80)conv Conv(128, 256, 3, 2)mult_conv Multi_Conv(128, 256)output_tensor1 conv(input_tensor)print(output_tensor1.shape) # torch.Size([1, 256, 40, 40])output_tensor2 mult_conv(input_tensor)print(output_tensor2.shape) # torch.Size([1, 256, 40, 40])注Conv并非pytorch原生的卷积yolov5作者对其进行了重构添加了autopad这个函数这个可以让人在修改卷积核大小时自动填充padding以保证输出结果维度一致。 从上面这个示例可知添加了我原创的双卷积核结构Multi_Conv之后输出维度和单核输出一致。 嵌入模型 修改模型主要有两个方法第一种是直接修改配置文件(.yaml)yaml主要是用来控制模型的串行连接修改完之后意味着后面的标号也需要进行调整较为麻烦。 另一种思路就是模块替代在模型单核模块中替换成一个复杂的结构这里选择第二种方法。 首先将创建的原创结构添加到models/common.py文件中 class Multi_Conv(nn.Module):# Multi Different Kernel-size Convdef __init__(self, c1, c2, e1.0):super().__init__()c_ int(c2 * e)self.cv1 Conv(c1, c_, 3, 2)self.cv2 Conv(c1, c_, 7, 2)def forward(self, x):return self.cv1(x) self.cv2(x)然后在models/yolo.py中添加Multi_Conv if m in {Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv,BottleneckCSP, C3, C3TR, C3SPP, C3Ghost, nn.ConvTranspose2d, DWConvTranspose2d, C3x, Multi_Conv}添加完成之后运行一下yolo.py可以看到自己创立的模块已经被成功加载 查看速度和参数量 在设计网络模型时最好能够直观查看模型各层运行效率在yolo.py中作者预留了line-profile这个参数接口设为True之后可以看到模型每一层的参数量用时 time (ms) GFLOPs params module6.75 0.73 3520 models.common.Conv0.70 0.96 18560 models.common.Conv2.09 0.98 18816 models.common.C30.54 0.95 73984 models.common.Conv1.86 1.49 115712 models.common.C30.40 0.95 295424 models.common.Conv2.59 2.01 625152 models.common.C30.60 0.95 1180672 models.common.Conv1.40 0.95 1182720 models.common.C30.60 0.53 656896 models.common.SPPF0.20 0.11 131584 models.common.Conv0.10 0.00 0 torch.nn.modules.upsampling.Upsample0.00 0.00 0 models.common.Concat1.50 1.16 361984 models.common.C30.30 0.11 33024 models.common.Conv0.00 0.00 0 torch.nn.modules.upsampling.Upsample0.00 0.00 0 models.common.Concat1.40 1.17 90880 models.common.C36.65 3.04 950784 models.common.Multi_Conv0.00 0.00 0 models.common.Concat1.40 0.95 296448 models.common.C34.19 1.52 1901056 models.common.Multi_Conv0.00 0.00 0 models.common.Concat1.30 0.90 1117184 models.common.C30.50 0.73 229245 Detect35.05 - - Total
http://www.hkea.cn/news/14541656/

相关文章:

  • 计算机网站建设实训总结wordpress火车头发布模板
  • 华强北电子网站建设天津最好网站建设公司
  • 电子商务网站建设的论文深圳有哪些软件外包公司
  • 怎么做国外的网站吗有没有网址呀
  • 闵行做网站的公司上海人才网欢迎您
  • 网站推广的网站平面设计师磨刀石
  • 免费网站建设基础步骤成都网站制作培训
  • 工信部网站 地址海南网站建设海南网络公司
  • 如何做英文ppt模板下载网站休闲食品网站建设规划书
  • 如何百度收录我的网站搜云seo
  • 南联网站建设在线crm管理系统
  • 做一个网站加优化排名得多少钱彩妆网站建设策划书
  • 网站信息化建设寓意八方来财的公司名字
  • 河北邢台手机网站建设wordpress案例分析
  • 公司电商网站建设费用怎么记账做设计有哪些地图网站
  • 贵港网站建设兼职温州百度快速排名优化
  • 廊坊网站建设费用响应式做的好的网站有哪些
  • 设计素材网站情人节申请一个网站需要怎么做
  • 个人网站设计要求深圳品牌网站推广公司哪家好
  • 网站开发小程序定制网站制作做站长挣钱
  • 杭州网站建设方案书做任务赚话费的网站
  • 网站紧急升级维护中朋友做的网站图片不显示
  • 做网站和app怎么跑业务开发网站公司收入
  • 打折网站建设教程下载wordpress设置头像
  • 企业网站认证如何用百度搜自己做的网站
  • 网站开发获取报价旅游网站建设经费预算
  • dede网站后台南宁网络公司有哪些
  • 成都 建设网站智慧团建在线登录
  • 北京网站制建设公司wordpress启用特色
  • 什么网站专门做境外当地游小程序收录wordpress主题