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

网站开发技术指标与参数html网站制作答辩问题

网站开发技术指标与参数,html网站制作答辩问题,北京移动端网站,网站开发环境选择续yolov7改进优化之蒸馏(一)-CSDN博客 上一篇已经基本写出来yolov7/v5蒸馏的整个过程,不过要真的训起来我们还需要进行一些修改。 Model修改 蒸馏需要对teacher和student网络的特征层进行loss计算,因此我们forward时要能够返回需…

续yolov7改进优化之蒸馏(一)-CSDN博客
上一篇已经基本写出来yolov7/v5蒸馏的整个过程,不过要真的训起来我们还需要进行一些修改。

Model修改

蒸馏需要对teacher和student网络的特征层进行loss计算,因此我们forward时要能够返回需要的中间层,这需要修改yolo.py中的Model类。

forward_once接口修改

增加接口参数 extra_features用于指定要返回的中间层的索引:

def forward_once(self, x, profile=False, extra_features: list = []):y, dt = [], []  # outputsfeatures = []for i, m in enumerate(self.model):if m.f != -1:  # if not from previous layerx = y[m.f] if isinstance(m.f, int) else [x if j == -1 else y[j] for j in m.f]  # from earlier layersif not hasattr(self, "traced"):self.traced = Falseif self.traced:if (isinstance(m, Detect)or isinstance(m, IDetect)or isinstance(m, IAuxDetect)or isinstance(m, IKeypoint)):breakif profile:c = isinstance(m, (Detect, IDetect, IAuxDetect, IBin))o = thop.profile(m, inputs=(x.copy() if c else x,), verbose=False)[0] / 1e9 * 2 if thop else 0  # FLOPSfor _ in range(10):m(x.copy() if c else x)t = time_synchronized()for _ in range(10):m(x.copy() if c else x)dt.append((time_synchronized() - t) * 100)print("%10.1f%10.0f%10.1fms %-40s" % (o, m.np, dt[-1], m.type))x = m(x)  # runy.append(x if m.i in self.save else None)  # save outputif i in extra_features:features.append(x)if not self.training and len(extra_features) != 0 and len(extra_features) == len(features):return x, featuresif profile:print("%.1fms total" % sum(dt))if len(extra_features) != 0:return x, featuresif self.training and isinstance(x, tuple):x = x[-1]return x

主要增加将中间层返回的代码。

forward接口修改

forward接口调用了forward_once接口,因此,forward接口也需要增加这个参数。

def forward(self, x, augment=False, profile=False, extra_features: list = []):if augment:img_size = x.shape[-2:]  # height, widths = [1, 0.83, 0.67]  # scalesf = [None, 3, None]  # flips (2-ud, 3-lr)y = []  # outputsfor si, fi in zip(s, f):xi = scale_img(x.flip(fi) if fi else x, si, gs=int(self.stride.max()))yi = self.forward_once(xi)[0]  # forward# cv2.imwrite(f'img_{si}.jpg', 255 * xi[0].cpu().numpy().transpose((1, 2, 0))[:, :, ::-1])  # saveyi[..., :4] /= si  # de-scaleif fi == 2:yi[..., 1] = img_size[0] - yi[..., 1]  # de-flip udelif fi == 3:yi[..., 0] = img_size[1] - yi[..., 0]  # de-flip lry.append(yi)return torch.cat(y, 1), None  # augmented inference, trainelse:return self.forward_once(x, profile, extra_features)  # single-scale inference, train

hyp文件修改

在hyp文件中添加student_kd_layers和teacher_kd_layers来指定要蒸馏的层,我们可以指定IDetect前面的三个特征层:

student_kd_layers: [75,88,101]
teacher_kd_layers: [75,88,101]

训练

训练方式与正常训练一样,只是启动时要指定teacher-weights。

结语

这一篇结合上一篇就可以吧基于FGD算法的蒸馏训练起来了,其他蒸馏的修改也大同小异了。
f77d79a3b79d6d9849231e64c8e1cdfa~tplv-dy-resize-origshort-autoq-75_330.jpeg

http://www.yayakq.cn/news/19736/

相关文章:

  • 唐山个人网站建设网页设计如何设置背景
  • 专业的外贸行业网站制作设计素材网站那个好
  • 免费商城版网站电商软件定制
  • 企业网站备案审核需要多长时间凡客诚品官方网
  • 做网站六安做设计参考的网站
  • 域名购买网站有哪些问题免费客源软件
  • 卡片式设计 网站公司网站建设怎么选择
  • 淄博网站制作网页公司如何制作导航网站
  • 网站设计小结优享微信网站建设
  • 上海做网站定制深圳龙华是低风险区吗
  • 云南省红河州蒙自建设局网站青岛网站推广优化公司
  • 新钥匙建站大连自助建站软件
  • 手机网站页面设计基本的网络架构
  • 服装网站建设推荐seo优化知识
  • 漂亮的网站框架商城小程序公司
  • 网站建设简历模板网站建设的基本步骤有哪些
  • 外贸网站要怎么做网络服务器地址
  • 手套网站模板网站关键词搜索排名怎么做
  • 不动产登记网站建设外贸平台排行榜前十名
  • 怎样才能有自己的网站中国万网轻云服务器 如何发布网站
  • 广东宏福建设有限公司网站郑州营销型网站建设价格
  • 邵阳邵东网站建设如何选择镇江网站优化
  • 浅谈sns网站与流行sns网站对比网站建设与管理vs2010
  • 网站ip和pv东营住房和城乡建设厅官网
  • 手机网站如何建立山西太原最新消息今天
  • 网站设计说明书整合成立学校网站建设小组
  • 阿里巴巴的网站建设与维护国内精品网站建设
  • 广东网站建设价格域名解析到wordpress
  • 用php做网站教程泰安考试信息网官网
  • 微小店网站建设价格广州越秀区有什么好玩的地方