DETR类型检测网络---思考和Tricks测试

目录

  • batch_size的影响
  • 辅助损失的作用
  • 学习率的影响
  • Decoder层数增多的影响
  • 3D检测中, feats位置编码和query位置编码是否共享mpl层
    • 背景-关于query的生成方式
  • 利用widthformer类似的方式简化注意力机制

batch_size的影响

batch=8:
在这里插入图片描述
batch=20:
在这里插入图片描述
由实验结果可知:这里实验有问题,横坐标不统一,不能直接比较…大致可以看出batch_size越大,loss下降略快,而且越平滑.注意理论上不能太大.

辅助损失的作用

transformer类模型,当层数很多的时候,收敛很慢,容易发散.辅助损失帮助模型在训练过程中更好地收敛,特别是在训练的早期阶段。还可以稳定训练过程,减少震荡和过拟合的风险。
下面进行对比验证:
batch=8;layer_num=6;aux_loss=true
在这里插入图片描述

batch=8;layer_num=6;aux_loss=false
在这里插入图片描述
由实验结果可知:辅助损失确实可以减少震荡和抑制过拟合,如果没有辅助损失甚至都不能收敛(可能layer太深,梯度传不回去了).

学习率的影响

在实验中发现loss先下降后上升.最后发现把学习率从0,001改成0,0002就好了.猜测是初始学习率0.001可能过大,导致模型在训练过程中的参数更新步长过大,容易跳过最优解.

2024-04-07 18:21:18,692 - mmdet - INFO - Epoch [20][1000/1069] lr: 2.000e-04, eta: 2 days, 7:04:24, time: 0.685, data_time: 0.009, memory: 28667, loss_cls: 0.2155, loss_bbox: 0.4342, d0.loss_cls: 0.3011, d0.loss_bbox: 0.4841, d1.loss_cls: 0.2889, d1.loss_bbox: 0.4726, d2.loss_cls: 0.2352, d2.loss_bbox: 0.4572, d3.loss_cls: 0.2356, d3.loss_bbox: 0.4515, d4.loss_cls: 0.2154, d4.loss_bbox: 0.4376, loss: 4.2288, grad_norm: 197.8638
2024-04-07 18:23:51,636 - mmdet - INFO - Epoch [21][100/1069] lr: 2.000e-05, eta: 2 days, 6:53:49, time: 0.744, data_time: 0.061, memory: 28667, loss_cls: 0.1997, loss_bbox: 0.3806, d0.loss_cls: 0.2881, d0.loss_bbox: 0.4400, d1.loss_cls: 0.2770, d1.loss_bbox: 0.4156, d2.loss_cls: 0.2205, d2.loss_bbox: 0.4054, d3.loss_cls: 0.2189, d3.loss_bbox: 0.3969, d4.loss_cls: 0.2009, d4.loss_bbox: 0.3860, loss: 3.8298, grad_norm: 100.7063

由实验结果可知:学习率对loss的影响巨大,图中的loss骤降就是学习率减少导致的.

Decoder层数增多的影响

曾经在vit下做个类似实验,参考
在实验中发现层数过多时,loss下不去,后来降低学习率后解决了.在低学习率0.0002下实验对比以下:
layer_num=2:
在这里插入图片描述
layer_num=6:
在这里插入图片描述
由实验结果可知:区别不大,猜测有可能在稳态式区别大一点,或者数据集太少(8k)下.

3D检测中, feats位置编码和query位置编码是否共享mpl层

背景-关于query的生成方式

DETR中是预设的query_pos shape为(n,embed_dim), 而query=zeros.shape为(n,embed_dim)
DETR3ddeformable_DETR中,query_pos(query_embed):预设的shape为(n,embed_dim),query:预设的shape为(n,embed_dim),reference_point:利用query_pos线性映射为shape(n,3)
PETR类中是reference_point:预设的shape为(n,3)
query_pos(query_embed):利用reference_point线性映射为shape(n,embed_dim)
query:zeros shape为(n,embed_dim)

我们利用PETR的方式:

feats侧(下面统称kv侧),利用归一化bev位置信息经过正余弦编码和mpl层生成key_pos;
query侧(下面统称q侧),利用预定义的目标位置(0-1归一化)信息经过正余弦编码和mpl层生成key_pos;

如果feats和query在同一尺度的bev空间坐标系下的,那么可以共享mpl层进行前向传播,而且反向传播时可以对reference_point的位置信息进行对齐,使得refernce_point在目标位置处集中.下面开始验证:
共享位置编码mpl层:
在这里插入图片描述

不共享位置编码mpl层

在这里插入图片描述
由实验结果可知:不共享反而效果更好™,有点不能理解,后续多模态的时候继续这块实验吧

利用widthformer类似的方式简化注意力机制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/592785.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41),framework修改,去除第三方app的倒计时页面

文章目录 堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41),framework修改,去除第三方app的倒计时页面1.打印异常堆栈2.去除第三方app的倒计时页面3.模拟点击事件跳过首页进入主页 堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41)&#x…

C语言 | Leetcode C语言题解之第67题二进制求和

题目&#xff1a; 题解&#xff1a; void reserve(char* s) {int len strlen(s);for (int i 0; i < len / 2; i) {char t s[i];s[i] s[len - i - 1], s[len - i - 1] t;} }char* addBinary(char* a, char* b) {reserve(a);reserve(b);int len_a strlen(a), len_b st…

2024全域数字化转型评估模型研究报告

来源&#xff1a;伏羲智库&腾讯智慧零售 智慧零售逐渐成为发展趋势 随着技术突破、商业创新和监管制度的发展演进,零售业数字化转型的内涵随实践延展而不断丰富,智慧零售逐渐成为零售业数字化转型的新趋势。 在技术层面,零售业数字化转型呈现出三大变化与趋势: 一是数字技…

能将图片转为WebP格式的WebP Server Go

本文完成于 2023 年 11 月 之前老苏介绍过 webp2jpg-online&#xff0c;可以将 webp 格式的图片&#xff0c;转为 jpg 等&#xff0c;今天介绍的 WebP Server Go 是将 jpg 等转为 webp 格式 文章传送门&#xff1a;多功能图片转换器webp2jpg-online 什么是 WebP ? WebP 它是由…

多多搜索在哪里找到

拼多多推广可以使用3an推客。3an推客&#xff08;CPS模式&#xff09;给商家提供的营销工具&#xff0c;由商家自主设置佣金比例&#xff0c;激励推广者去帮助商家推广商品链接&#xff0c;按最终有效交易金额支付佣金&#xff0c;不成交不扣费。是商家破零、积累基础销量的重要…

OpenHarmony实战开发-使用通用事件、焦点事件

基本概念 焦点 指向当前应用界面上唯一的一个可交互元素&#xff0c;当用户使用键盘、电视遥控器、车机摇杆/旋钮等非指向性输入设备与应用程序进行间接交互时&#xff0c;基于焦点的导航和交互是重要的输入手段。 默认焦点 应用打开或切换页面后&#xff0c;若当前页上存在…

缤纷成长:儿童换牙顺序解析与注意事项

引言&#xff1a; 儿童的换牙过程是成长中的一个重要阶段&#xff0c;但每个孩子的换牙顺序可能会有所不同。本文将详细解析儿童换牙的顺序&#xff0c;并提供换牙期间的注意事项&#xff0c;助您更好地理解孩子的口腔健康&#xff0c;并为他们提供正确的护理与关爱。 1. 换牙顺…

【开发记录】青龙面板设置飞书机器人

接上篇文章&#xff0c;笔者在写上篇文章时对青龙面板的消息通知功能感兴趣&#xff0c;遂实验之&#xff0c;于是有了这篇文章。 首先参考这篇文章在群聊中引入一个机器人&#xff0c;此时可以获得该机器人的webhook。在青龙面板的通知设置中有larkKey一项&#xff0c;填入web…

【idea-sprongboot项目】在linux服务器上纯远程开发方式

继上一篇博客【idea-sprongboot项目】SSH连接云服务器进行远程开发-CSDN博客 目录 五、远程开发方式 2&#xff09;纯远程开发方式 步骤 五、远程开发方式 2&#xff09;纯远程开发方式 实现原理&#xff0c; 步骤 &#xff08;1&#xff09;首先&#xff0c;关闭当前正在…

Java17 --- SpringCloud之Zipkin链路追踪

目录 一、下载zipkin及运行 二、在父工程中引入pom依赖 三、在子工程8001引入相关pom依赖 3.1、修改yml配置文件 3.2、测试代码 四、在子工程80引入相关pom依赖 4.1、修改yml配置文件 4.2、测试代码 五、测试结果 一、下载zipkin及运行 运行控制台访问地址&#xff1…

Java之LinkedHashMap

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。…

「C++ STL篇 1-0」string类的使用

目录 〇、概念 一、string类的构造函数 二、赋值运算符重载 三、有关容量的操作 四、string对象的访问 五、遍历string对象的字符数组 六、string对象的修改 七、string对象的常用操作 八、字符串和数字间的转换 拓展】 练习】 源代码】 〇、概念 1. string类是什么&#xff1…

C语言之递归函数、例题详解以及注意事项

目录 前言 一、递归的概念 二、递归例题详解 例1&#xff1a;斐波那契数列 例2&#xff1a;求次方 例3&#xff1a;求各位数之和 例4&#xff1a;阶乘 例5&#xff1a;顺序打印 三、递归的注意事项 总结 前言 本文将和大家分享一些递归函数的相关知识&#xff0c;技巧…

栈和队列OJ刷题

制作不易&#xff0c;三连支持一下呗&#xff01;&#xff01;&#xff01; 文章目录 一.有效的括号二.用队列实现栈三.用栈实现队列四.设计循环队列 前言 上两篇博客介绍了栈和队列的结构与实现&#xff0c;这篇博客我们将用栈和队列的结构与思想来解决一些oj题目 一、有效的…

关于安装Tensorflow的一些操作及问题解决

关于conda和tensorflow&#xff1a; 由于在安装tensorflow遇到各种问题&#xff0c;遇坑则进&#xff0c;耗费了很多时间。由此想整理一些关于安装tensorflow的操作和方法。欢迎各位补充和指正&#xff01; 1.conda: 1&#xff09;conda list 查看安装了哪些包。 2&#xff…

【实验】根据docker部署nginx并且实现https

环境准备 systemctl stop firewalld setenforce 0 安装docker #安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 #设置阿里云镜像 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #安装最新版…

LabVIEW鸡蛋品质智能分级系统

LabVIEW鸡蛋品质智能分级系统 随着现代农业技术的飞速发展&#xff0c;精确、高效的农产品质量控制已成为行业的重要需求。其中&#xff0c;鸡蛋作为日常膳食中不可或缺的重要组成部分&#xff0c;其品质直接关系到消费者的健康与满意度。本文设计并实现了一套基于LabVIEW的鸡…

进程控制【Linux】

文章目录 进程终止进程等待 创建一批子进程 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #define N 5void runChild() {int cnt 10;while (cnt ! 0){printf("i am a child : %d , ppid:%d\n", getpid(), getppid());sleep(1);c…

Cisco WLC 2504控制器重启后所有AP掉线故障-系统日期时间

1 故障描述 现场1台WLC 2504控制器掉电重启后&#xff0c;所有AP均无线上线&#xff0c; 正常时共有18个AP在线&#xff0c;而当前为0 AP在线数量为0 (Cisco Controller) >show ap sumNumber of APs.................................... 0Global AP User Name..........…

【AIGC】本地部署 ollama + open-webui

在之前的篇章《【AIGC】本地部署 ollama(gguf) 与项目整合》中我们已经使用 ollama 部署了一个基于预量化&#xff08;gguf&#xff09;的 Qwen1.5 模型&#xff0c;这个模型除了提供研发使用外&#xff0c;我还想提供给公司内部使用&#xff0c;因此还需要一个 ui 交互界面。 …