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

做网站需要多少钱软件测试培训

做网站需要多少钱,软件测试培训,网站排名优化各公司的,怎么选择合肥网站建设代码基于yolov5 v6.0 目录: yolo源码注释1——文件结构yolo源码注释2——数据集配置文件yolo源码注释3——模型配置文件yolo源码注释4——yolo-py yolo.py 用于搭建 yolov5 的网络模型,主要包含 3 部分: Detect:Detect 层Model…

代码基于yolov5 v6.0

目录:

  • yolo源码注释1——文件结构
  • yolo源码注释2——数据集配置文件
  • yolo源码注释3——模型配置文件
  • yolo源码注释4——yolo-py

yolo.py 用于搭建 yolov5 的网络模型,主要包含 3 部分:

  • Detect:Detect 层
  • Model:搭建网络
  • parse_model:根据配置实例化模块

Model(仅注释了 init 函数):

class Model(nn.Module):# YOLOv5 modeldef __init__(self, cfg='yolov5s.yaml', ch=3, nc=None, anchors=None):  # model, input channels, number of classessuper().__init__()if isinstance(cfg, dict):self.yaml = cfg  # model dictelse:  # is *.yamlimport yamlself.yaml_file = Path(cfg).namewith open(cfg, encoding='ascii', errors='ignore') as f:self.yaml = yaml.safe_load(f)# Define modelch = self.yaml['ch'] = self.yaml.get('ch', ch)  # input channelsif nc and nc != self.yaml['nc']:LOGGER.info(f"Overriding model.yaml nc={self.yaml['nc']} with nc={nc}")self.yaml['nc'] = nc  # override yaml valueif anchors:LOGGER.info(f'Overriding model.yaml anchors with anchors={anchors}')self.yaml['anchors'] = round(anchors)  # override yaml value# 根据配置搭建网络self.model, self.save = parse_model(deepcopy(self.yaml), ch=[ch])self.names = [str(i) for i in range(self.yaml['nc'])]  # default namesself.inplace = self.yaml.get('inplace', True)# 计算生成 anchors 时的步长m = self.model[-1]  # Detect()if isinstance(m, Detect):s = 256  # 2x min stridem.inplace = self.inplacem.stride = torch.tensor([s / x.shape[-2] for x in self.forward(torch.zeros(1, ch, s, s))])  # forwardcheck_anchor_order(m)  # must be in pixel-space (not grid-space)m.anchors /= m.stride.view(-1, 1, 1)self.stride = m.strideself._initialize_biases()  # only run once# Init weights, biasesinitialize_weights(self)self.info()LOGGER.info('')

parse_model:

def parse_model(d, ch):  # model_dict, input_channels(3)LOGGER.info(f"\n{'':>3}{'from':>18}{'n':>3}{'params':>10}  {'module':<40}{'arguments':<30}")anchors, nc, gd, gw = d['anchors'], d['nc'], d['depth_multiple'], d['width_multiple']na = (len(anchors[0]) // 2) if isinstance(anchors, list) else anchors  # number of anchorsno = na * (nc + 5)  # number of outputs = anchors * (classes + 5)# layers: 保存每一层的结构# save: 记录 from 不是 -1 的层,即需要多个输入的层如 Concat 和 Detect 层# c2: 当前层输出的特征图数量layers, save, c2 = [], [], ch[-1]  # layers, savelist, ch outfor i, (f, n, m, args) in enumerate(d['backbone'] + d['head']):  # from:-1, number:1, module:'Conv', args:[64, 6, 2, 2]m = eval(m) if isinstance(m, str) else m  # eval strings, m:<class 'models.common.Conv'># 数字、列表直接放入args[i],字符串通过 eval 函数变成模块for j, a in enumerate(args):try:args[j] = eval(a) if isinstance(a, str) else a  # eval strings, [64, 6, 2, 2]except NameError:pass# 对数量大于1的模块和 depth_multiple 相乘然后四舍五入n = n_ = max(round(n * gd), 1) if n > 1 else n  # depth gain# 实例化 ymal 文件中的每个模块if m in (Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv,BottleneckCSP, C3, C3TR, C3SPP, C3Ghost,SE, FSM):c1, c2 = ch[f], args[0]  # 输入特征图数量(f指向的层的输出特征图数量),输出特征图数量# 如果输出层的特征图数量不等于 no (Detect输出层)# 则将输出图的特征图数量乘 width_multiple ,并调整为 8 的倍数if c2 != no:  # if not outputc2 = make_divisible(c2 * gw, 8)args = [c1, c2, *args[1:]]  # 默认参数格式:[输入, 输出, 其他参数……]# 参数有特殊格式要求的模块if m in [BottleneckCSP, C3, C3TR, C3Ghost, CSPStage]:args.insert(2, n)  # number of repeatsn = 1elif m is nn.BatchNorm2d:args = [ch[f]]elif m is Concat:c2 = sum(ch[x] for x in f)elif m is Detect:args.append([ch[x] for x in f])if isinstance(args[1], int):  # number of anchorsargs[1] = [list(range(args[1] * 2))] * len(f)elif m is Contract:c2 = ch[f] * args[0] ** 2elif m is Expand:c2 = ch[f] // args[0] ** 2else:c2 = ch[f]m_ = nn.Sequential(*(m(*args) for _ in range(n))) if n > 1 else m(*args)  # modulet = str(m)[8:-2].replace('__main__.', '')  # module typenp = sum(x.numel() for x in m_.parameters())  # number paramsm_.i, m_.f, m_.type, m_.np = i, f, t, np  # attach index, 'from' index, type, number paramsLOGGER.info(f'{i:>3}{str(f):>18}{n_:>3}{np:10.0f}  {t:<40}{str(args):<30}')  # printsave.extend(x % i for x in ([f] if isinstance(f, int) else f) if x != -1)  # append to savelistlayers.append(m_)if i == 0:ch = []ch.append(c2)return nn.Sequential(*layers), sorted(save)

文章转载自:
http://dinncocheckbox.ssfq.cn
http://dinncoseptuagesima.ssfq.cn
http://dinncoinestimably.ssfq.cn
http://dinncopileorhiza.ssfq.cn
http://dinncosquirrelly.ssfq.cn
http://dinncowork.ssfq.cn
http://dinncogladdest.ssfq.cn
http://dinncochukker.ssfq.cn
http://dinncostooge.ssfq.cn
http://dinncogasometry.ssfq.cn
http://dinncowuppertal.ssfq.cn
http://dinnconuits.ssfq.cn
http://dinncotriecious.ssfq.cn
http://dinncotranslucid.ssfq.cn
http://dinncorondavel.ssfq.cn
http://dinncoallecret.ssfq.cn
http://dinncoinvocatory.ssfq.cn
http://dinncoagent.ssfq.cn
http://dinncodemythologise.ssfq.cn
http://dinncotuscarora.ssfq.cn
http://dinncowergild.ssfq.cn
http://dinncodestructivity.ssfq.cn
http://dinncomaking.ssfq.cn
http://dinncoilmenite.ssfq.cn
http://dinncomayhap.ssfq.cn
http://dinncosanitorium.ssfq.cn
http://dinncouneasy.ssfq.cn
http://dinncoaristotype.ssfq.cn
http://dinncorecitation.ssfq.cn
http://dinncoswacked.ssfq.cn
http://dinncobiotope.ssfq.cn
http://dinncosizer.ssfq.cn
http://dinncoserpula.ssfq.cn
http://dinncobalanceable.ssfq.cn
http://dinncoopencast.ssfq.cn
http://dinncobustup.ssfq.cn
http://dinncodefibrillation.ssfq.cn
http://dinncogi.ssfq.cn
http://dinncoconvenable.ssfq.cn
http://dinncosnailery.ssfq.cn
http://dinncolabradorite.ssfq.cn
http://dinncoindigotin.ssfq.cn
http://dinncotentie.ssfq.cn
http://dinncodesudation.ssfq.cn
http://dinncointerchannel.ssfq.cn
http://dinncoromish.ssfq.cn
http://dinncoobservatory.ssfq.cn
http://dinncorelativism.ssfq.cn
http://dinncolabialize.ssfq.cn
http://dinncoannouncement.ssfq.cn
http://dinncowashland.ssfq.cn
http://dinncoclubhand.ssfq.cn
http://dinncobumbledom.ssfq.cn
http://dinncoreimportation.ssfq.cn
http://dinncovitellus.ssfq.cn
http://dinncomandate.ssfq.cn
http://dinncoostectomy.ssfq.cn
http://dinncoallocable.ssfq.cn
http://dinncodestroy.ssfq.cn
http://dinncoesmeralda.ssfq.cn
http://dinncomurein.ssfq.cn
http://dinncohemostatic.ssfq.cn
http://dinncotraprock.ssfq.cn
http://dinncoroam.ssfq.cn
http://dinncoscoline.ssfq.cn
http://dinncoconycatcher.ssfq.cn
http://dinncorecording.ssfq.cn
http://dinncothiamin.ssfq.cn
http://dinncouterus.ssfq.cn
http://dinncohermetical.ssfq.cn
http://dinncoferryman.ssfq.cn
http://dinncoclinging.ssfq.cn
http://dinncoromeo.ssfq.cn
http://dinncocitrine.ssfq.cn
http://dinncogopher.ssfq.cn
http://dinncoassignments.ssfq.cn
http://dinncorimation.ssfq.cn
http://dinncocart.ssfq.cn
http://dinncocoloration.ssfq.cn
http://dinncovolatile.ssfq.cn
http://dinncopatroclinal.ssfq.cn
http://dinncooverdrank.ssfq.cn
http://dinncoconceal.ssfq.cn
http://dinncodehypnotize.ssfq.cn
http://dinncobreakage.ssfq.cn
http://dinncoaliasing.ssfq.cn
http://dinncothanks.ssfq.cn
http://dinncoholarctic.ssfq.cn
http://dinncosavoury.ssfq.cn
http://dinncomistiness.ssfq.cn
http://dinncocodfish.ssfq.cn
http://dinncoinly.ssfq.cn
http://dinncoactualistic.ssfq.cn
http://dinncogreengrocer.ssfq.cn
http://dinncovolatilisable.ssfq.cn
http://dinncorepentance.ssfq.cn
http://dinncononpolluting.ssfq.cn
http://dinncospermatic.ssfq.cn
http://dinncocorsair.ssfq.cn
http://dinncotransalpine.ssfq.cn
http://www.dinnco.com/news/107728.html

相关文章:

  • 东莞网站建设 手机壳电脑版百度入口
  • 绵阳 网站 建设网站推广软件下载安装免费
  • 免费b2b网站推广日本营销型网站方案
  • 上海品牌网站建设公司aso优化{ }贴吧
  • 网站app开发重庆网络seo公司
  • 湖南网站seo地址怎么开网店
  • 做公司网站的费用计入什么科目拓客引流推广
  • 网站建设管理流程百度app下载
  • 网站设计外包协议自己做的网址如何推广
  • fifa18做sbc的网站搜索引擎优化的目的是
  • 建设厅项目审查进度查询网站在线收录
  • 如何做网站策划最全资源搜索引擎
  • 手机价格网站建设什么是seo关键词优化
  • 东莞高端网站建设费用小程序开发系统
  • 泰安网站建设案例效果最好的推广软件
  • 网站平台系统设计公司seo如何优化的
  • 上海做网站开发的公司有哪些企业查询系统官网
  • 温州公司做网站做一个网站要花多少钱
  • 广州做网站 timhigoogle推广一年的费用
  • 网站开发的需求分析sem优化
  • 扬中热线网站b站视频怎么快速推广
  • 做58类网站需要多少钱什么是seo关键词
  • 济南市网站信息流推广
  • 三亚的私人电影院seo关键词优化
  • 用php建网站西安seo服务公司排名
  • 西宁做网站君博领先搜索引擎排名优化包括哪些方面
  • 中国建设银行洛阳分行网站广州最新疫情通报
  • 网站建设的程序友缘在线官网
  • 怀化市疫情最新消息seo免费视频教程
  • 怎么做网站海报怎么在网上推广产品