MMdetection3.0 训练DETR问题分析

MMdetection3.0 训练DETR问题分析

针对在MMdetection3.0框架下训练DETR模型,验证集AP值一直为0.000的原因作出如下分析并得出结论。

条件:
1、NWPU-VHR-10数据集:共650张,训练:验证=611:39;
2、MMdetection3.0框架实验分析;
3、DETR原论文提供源代码实验分析;
4、已在代码中完成了数据类别定义(num_classes)等相关配置的修改。

分析:
1、在MMdetection3.0框架下,只是加载backbone的预训练权重,val上AP始终为0.0000.如下图所示:=》loss收敛较慢,val始终为0.0000.
在这里插入图片描述
在这里插入图片描述
2、在MMdetection3.0框架下,直接加载detr的完整预训练权重。如下图所示:=》存在警告(size mismatch for bbox_head.fc_cls.weight: copying a param with shape torch.Size([81, 256]) from checkpoint, the shape in current model is torch.Size([11, 256]).
size mismatch for bbox_head.fc_cls.bias: copying a param with shape torch.Size([81]) from checkpoint, the shape in current model is torch.Size([11]).
),但训练测试指标还算正常。

=》警告原因:自定义数据集的类别是10+1,而MMdetection3.0提供的是coco数据集与训练权重80+1.
=》因此,需要修改预训练模型的全连接层输出(见下述第4点)。

在这里插入图片描述
在这里插入图片描述3、在MMdetection3.0框架下,直接加载修改后的detr的完整预训练权重训练测试结果见下图所示:=》警告消除,一切正常,并且修改证据权重类别后loss下降变快,val指标更好(不能说更好,只能说更正常)
在这里插入图片描述
在这里插入图片描述4、修改模型权重参数脚本
=》代码中的METAINFO不想修改 不修改也行。
=》主要是pretrained_weights[‘state_dict’][‘bbox_head.fc_cls.weight’].resize_(11, 256)
pretrained_weights[‘state_dict’][‘bbox_head.fc_cls.bias’].resize_(11)

import torch
METAINFO = dict(CLASSES=('airplane','ship','storage tank','baseball diamond','tennis court','basketball court','ground track field','harbor','bridge','vehicle',),PALETTE=[(120,120,120,),(180,120,120,),(6,230,230,),(80,50,50,),(4,200,3,),(120,120,80,),(140,140,140,),(204,5,255,),(230,230,230,),(4,250,7,),])pretrained_weights = torch.load('/home/admin1/pywork/data/weigh/resnet50-0676ba61.pth')
# 11 是指 数据类别 + 1
pretrained_weights['state_dict']['bbox_head.fc_cls.weight'].resize_(11, 256)
pretrained_weights['state_dict']['bbox_head.fc_cls.bias'].resize_(11)
pretrained_weights['meta']['experiment_name'] = 'detr_r50_8xb2-150e_coco_11'
pretrained_weights['meta']['dataset_meta'] = METAINFO
torch.save(pretrained_weights, "detr_r50_8xb2-150e_coco_%d.pth" % num_classes)

5、DETR原论文提供的源代码训练情况跟MMdetection3.0框架下的情况类似,都必须加载预训练模型,否则就是一直0.000000000000000.

总结分析:
1、NWPU-VHR-10数据量太小导致的问题(90%),等待进一步测试。
2、Transformer模型提出来的时候就已经说明很吃数据,所以没有足够的数据直接使用transformer训练往往效果不好,所以数据量不足的情况下,还是加载预训练权重吧。
3、backbone的权重在模型的比例其实很小,主要还是后面的编码、解码器,所以只加载backbone的权重也没什么用。

总之,数据、数据、数据要足够哇

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg-基础组件-AVFrame

本章主要介绍FFmpeg基础组件AVFrame. 文章目录 1.结构体成员2.成员函数AVFrame Host内存的获取 av_frame_get_bufferAVFrame device内存获取av_hwframe_get_buffer() 1.结构体成员 我们把所有的代码先粘贴上来,在后边一个一个解释。 typede…

[MySQL]SQL优化之sql语句优化

🌈键盘敲烂,年薪30万🌈 目录 一、索引优化 回顾: 📕索引分类: 📕索引失效: 📕设计原则: 📕SQL性能分析 二、SQL优化 语句优化 &#x1f4d…

越南语翻译,人工翻译哪个值得信赖?

近年来,随着中越两国的交流日益频繁,为了促进双方的交流与理解,市场上对越南语翻译的需求也日益增加。那么,如何做好越南语翻译,人工翻译哪家公司值得信赖呢? 据了解,中文翻译越南语是一项颇具挑…

科技与艺术相结合,虚拟人裸眼3D动画亮相城市商圈

随着元宇宙概念的火爆,虚拟制作技术的快速发展,虚拟人可以将虚拟世界与现实世界相结合,为用户带来沉浸式体验。如虚拟人壬子希以裸眼3D动画的形式亮相城市商圈,助力文旅以科技与艺术相结合的形式,展现城市文化与科技成…

【数据结构(九)】顺序存储二叉树(2)

文章目录 1. 相关概念2. 顺序存储二叉树的遍历 1. 相关概念 从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看右面的示意图。 转换原则:     1.上图的二叉树的结点&#xff…

每日一练【长度最小的子数组】

一、题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 二、题目解析 经…

DeepDrive双转子径向磁通电机

DeepDrive公司开发的是一种高效、高性能、低成本的双转子径向磁通电机系统(含控制器)。该系统具有较高的成本效益和资源效率,并拥有更高的能效,能显著提升电动车续航能力,同时亦能有效控制生产成本,减少自然…

3_流量预测综述阅读_Cellular traffic prediction with machine learning: A survey

为了方便学习英语书写,总结的一些话用英语书写 ♥目录♥ 0、文献来源and摘要1、introduction2、prediction problems and datasets2.1 prediction problems2.2 dataset(1)Telecom Italia 意大利电信 2015(2)City Cell…

AI写文案工具大全介绍,免费的AI写文案工具

随着人工智能技术的不断发展,AI写文案成为一个备受关注的话题。本文将专注于AI写文案工具,深入探讨各类好用的AI写文案软件。 AI写文案工具介绍: OpenAIs GPT系列: GPT-3是由OpenAI开发的语言模型,能够生成高质量的文…

uniapp点击按钮,防止按钮多次点击多次触发事件【防抖操作】

图片、 一、在根目录下新建common文件并创建common.js文件,输入下面代码 // 防止处理多次点击function noMultipleClicks(methods, info) {// methods是需要点击后需要执行的函数, info是点击需要传的参数let that this;if (that.noClick) {// 第一次点…

C语言leetcode集训二:字符串(1):字符串遍历

今天集训的内容是字符串中的字符串遍历题,仍然是简单题,但也可以掌握一些字符串所必要的知识,加深对字符串的理解,关于字符数组和字符串,字符串的输入输出在这就不再做过多赘述,关于字符串的问题&#xff0…

串口通信(1)-硬件知识

本文讲解串口通信的硬件知识。让读者快速了解硬件知识,为下一步编写代码做基础。 目录 一、概述 二、串口通信分类 2.1信息的传送方向进行分类 2.2同步通信和异步通信 三、串口协议 3.1 RS232 3.1.1 电气特性 3.1.2 连接器的机械特性 3.1.3 连接类型 3.1…

【SpringBoot】入门精简

目录 一、初识 SpringBoot 1.1 介绍 1.2 项目创建 1.3 目录结构 1.4 修改配置 二、SpringBoot 集成 2.1 集成 Mybatis框架 2.2 集成 Pagehepler分页插件 2.3 集成 Druid数据库连接池 2.4 集成 Log日志管理 一、初识 SpringBoot 1.1 介绍 Spring Boot是一个用于简化Sp…

猎豹浏览器如何设置ip使用?socks5在网络安全中有什么优势?

猎豹浏览器如何设置ip使用?socks在网络安全中有什么优势? 一、猎豹浏览器如何设置ip使用? 在使用猎豹浏览器时,可以通过以下步骤来设置IP使用: 1. 打开猎豹浏览器,点击右上角的“菜单”按钮,在…

有趣的数学 数学建模入门三 数学建模入门示例两例 利用微积分求解

一、入门示例1 1、问题描述 某宾馆有150间客房,经过一段时间的经营,该宾馆经理得到一些数据:如果每间客房定价为200元,入住率为55%;定价为180元,入住率为65%;定价为160元…

圆通单号查询,圆通速递物流查询,用表格导出单号的详细物流信息

批量查询圆通速递单号的物流信息,以表格的形式导出单号的详细物流信息。 所需工具: 一个【快递批量查询高手】软件 圆通速递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,并登录 步骤2:点击主…

解决canvas清晰度问题devicePixelRatio

视频教程 解决canvas清晰度的问题【渡一教育】_哔哩哔哩_bilibili 检测网页本身是否缩放 ,即缩放倍率 window.devicePixelRatio 为了获得清晰图像,需要遵循以下公式 原始尺寸样式尺寸*缩放倍率 在项目中,canvas里的原始尺寸一般与css中的样式尺寸一样,所以在写js代码时,涉…

数据库 02-03补充 聚合函数--一般聚合分组和having

聚合函数: 01.一般的聚合函数: 举个例子: 一般聚合函数是用于单个元祖,就是返回一个数值。 02.分组聚合:可以返回多个元祖 举个例子: 分组的注意: 主要的是根据分组的话,一个…

盲盒小程序搭建:年入百W的“盲盒经济”

盲盒作为一种新的商业模式,正引领着新的消费热潮。尤其是在当下年轻人群体中,盲盒的影响力非常大。 盲盒作为一种新的消费方式,因其具备的不确定性、未知性、惊喜性,刺激着消费者的购买欲。在现在的商城中,盲盒的身影…

AutoAnimate动画库,仅需一行代码

插件官网,支持react,vue AutoAnimate - Add motion to your apps with a single line of code 自动加动画原理 AutoAnimate 加动画的原理也很简单,监听绑定的 DOM 节点里 DOM 结构变化,自动添加对应的过渡动画: 增加子节点 > 渐入动画…