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

yolox-何为EMA?

何为EMA?
定义: 滑动平均/指数加权平均:用来估计变量的局部均值,使得变量的更新与一段时间内的历史取值有关,滑动平均可以看作是变量的过去一段时间取值的均值。
优点: 相比于直接赋值,滑动平均得到的值在图像上更加平缓光滑,抖动性更小。也可以理解为,由于model在最后收敛时,weights会在全局最优点抖动,所有在最后收敛过程中使用模型权重均值更能代表模型的最终训练结果,即仅在测试时使用。
需要注意的是 ,训练时计算EMA得到的shadow-weights更新值不在训练时使用,其使用的仍然是原始weights。而shadow-weights使用在val测试中,这部分可以通过代码理解。
yolox/core/trainer.py
在这里插入图片描述
验证是否使用了ema
在这里插入图片描述
跳转yolox/exp/yolox_base.py
在这里插入图片描述
继续回到self.ema_model,进入ModelEMA跳转至 yolox/utils/ema.py
在这里插入图片描述
通过代码,我们可以看见训练时计算EMA得到的shadow-weights更新值被存到v中,其并不会参加梯度下降,即只在测试时使用。此外,在计算时使用了.detach(),说明所得到的v是被生成的一个新的tensor,其不会影响训练时梯度求导,即weights和shadow-weights是两个分离的tensor。

相关文章:

  • JAVA生成随机姓名(小白也能看得懂)
  • IDEA2023.2单击Setting提示报错:Cannot get children Easy Code
  • 【论文解读】A Progress Report: The Alliance for Open Media and the AV1 Codec
  • odoo16版本的render变更
  • 学习Uni-app开发小程序Day23
  • 06.部署jpress
  • Sublime Text 基础教程(个人总结)
  • 机器学习之爬山算法(Hill Climbing Algorithm)
  • 【OpenVINO™】在C#中使用 OpenVINO™ 部署 YOLOv10 模型实现目标
  • 多线程笔记
  • 浙江大学数据结构MOOC-课后习题-第九讲-排序3 Insertion or Heap Sort
  • git多人开发,不用merge的操作方法,阿里codeup
  • 柳宗元,政治坎坷与文学辉煌的交织
  • 多线程基本常识
  • 实现按块复制元素的进阶技巧
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • Centos6.8 使用rpm安装mysql5.7
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Elasticsearch 参考指南(升级前重新索引)
  • Gradle 5.0 正式版发布
  • java取消线程实例
  • js面向对象
  • Material Design
  • PermissionScope Swift4 兼容问题
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 百度小程序遇到的问题
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 从重复到重用
  • 前端面试总结(at, md)
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 用element的upload组件实现多图片上传和压缩
  • 正则表达式
  • 智能合约开发环境搭建及Hello World合约
  • const的用法,特别是用在函数前面与后面的区别
  • ​字​节​一​面​
  • #14vue3生成表单并跳转到外部地址的方式
  • #Ubuntu(修改root信息)
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (09)Hive——CTE 公共表达式
  • (1)(1.13) SiK无线电高级配置(六)
  • (152)时序收敛--->(02)时序收敛二
  • (4)事件处理——(7)简单事件(Simple events)
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (二开)Flink 修改源码拓展 SQL 语法
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十六)串口UART
  • (十三)Flink SQL
  • (十三)Maven插件解析运行机制
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .Net 4.0并行库实用性演练
  • .Net Core 中间件验签
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端