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

YOLO系列代码

Test-Time Augmentation

  • TTA (Test Time Augmentation)是指在test过程中进行数据增强。
  • 其思想非常简单,就是在评测阶段,给每个输入进行多种数据增广变换将一个输入变成多个输入,然后再merge起来一起输出,形成一种ensemble的效果,可以用来提点。
  • 参考:​​​​​​​​​​​​​​https://zhuanlan.zhihu.com/p/131539596

使用了 EMA 策略平滑模型

默认采用 AMP 自动混合精度训练​​​​​​​

Pytorch自动混合精度(AMP)训练_pytorch amp-CSDN博客

  1. 1)在内存中用FP16做储存和乘法从而加速计算,而用FP32做累加避免舍入误差;2)weights, activations, gradients 等数据在训练中都利用FP16来存储,同时拷贝一份FP32的weights,用于更新。3)即使了混合精度训练,还是存在无法收敛的情况,原因是激活梯度的值太小,造成了下溢出(Underflow)。Loss Scale 损失扩大主要是为了解决 fp16 underflow 的问题。

    损失放大的思路是:反向传播前,将损失变化手动增大2^k倍,因此反向传播时得到的中间变量(激活函数梯度)则不会溢出;反向传播后,将权重梯度缩小2^k倍,恢复正常值。

数据增强

随机水平翻转

色彩抖动(Color Jittering)是一种常见的数据增强方法,用于改变图像的色彩信息,增加数据的多样性和鲁棒性。色彩抖动可以通过在RGB通道上引入小幅度的随机扰动来实现,包括亮度、对比度、饱和度和调的变化。这样做的目的是模拟现实世界中颜色的变化,使模型对不同颜色条件下的图像更具有鲁棒性。

多尺度训练:实现多尺度训练通常涉及调整网络结构,使其能够处理不同尺度的输入。这可能包括引入多个并行的卷积层,每个层专门处理不同尺度的输入数据,或者调整池化层来适应不同尺度的特征。

随机尺寸裁剪:

MixUp: 采用配对的方式进行训练,通过混合两个甚至是多个样本的分布,同时加上对应的标签来训练。两张图以一定的比例对rgb值进行混合,同时需要模型预测出原本两张图中所有的目标。

马赛克数据增强:对四张图片进行拼接,每一张图片都有其对应的框框,将四张图片拼接之后就获得一张新的图片,同时也获得这张图片对应的框框。

cutMix:把一个物体抠出来, 粘贴到另一张图上去.

 cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类的结果不变

目标检测——YOLOX算法解读-CSDN博客

http://www.lryc.cn/news/523992.html

相关文章:

  • HTML根元素<html>的语言属性lang:<html lang=“en“>
  • opencv在图片上添加中文汉字(c++以及python)
  • Perplexity AI 周六向 TikTok 母公司字节跳动递交了一项提案
  • Java连接TDengine和MySQL双数据源
  • Web3 游戏周报(1.13 - 1.19)
  • [深度学习]机器学习和深度学习
  • 区块链技术
  • vim函数定义跳转相关设置
  • 如何使用Python爬虫获取微店商品详情:代码示例与实践指南
  • Autosar CP RTE规范解读之不同 BSW 接口的通知与软件组件激活机制:标准化接口与 AUTOSAR 接口的实现方式
  • 基于STM32的智能门锁安防系统(开源)
  • 搭建Hadoop源代码阅读环境
  • 【25】Word:林涵-科普文章❗
  • Spring Boot接收参数的19种方式
  • 云IDE:开启软件开发的未来篇章
  • Leetcode 189 轮转数组
  • 华为服务器(iBMC)监控指标解读
  • 网络编程-UDP套接字
  • Web 音视频(一)基础知识
  • 数字化时代,传统代理模式的变革之路
  • Linux 高级路由与流量控制-用 tc qdisc 管理 Linux 网络带宽
  • 【数据库知识】PostgreSQL介绍
  • 软考,沟通管理
  • Linux 存储设备和 Ventoy 启动盘制作指南
  • Android SystemUI——CarSystemBar车载状态栏(九)
  • 多级缓存 JVM进程缓存
  • 使用Chrome和Selenium实现对Superset等私域网站的截图
  • 如何让大语言模型更好地理解科学文献?
  • anaconda安装和环境配置
  • Python基础学习(五)文件和异常