mmdetection2.28修改backbone不使用预训练参数、从头训练

背景

  • 最近需要测试一下在backbone部分如果不使用预训练参数的话,模型需要多少轮才能收敛
  • 所使用的backbone是mmcls.ConvNeXt
  • mmdetection版本为2.28.2,mmcls版本为0.25.0

修改流程

  • 最简单的方法,直接去mmcls的model zoo里找到对应backbone的config,看看官方是怎么定义的,如链接,然后照葫芦画瓢即可,下面讲一讲如果想按照自己的思路改应该怎么做
  • 第一步,找到mmdetection2.28里的backbone初始化逻辑:init_cfg怎么设置,以及支持哪些初始化方法
    • 一个常见的backbone配置文件写法如下,可见其使用的是type为Pretrained的预训练参数初始策略在这里插入图片描述
    • 要修改该init_cfg,首先去官方文档查看init_cfg应该怎么写,里面对init_cfg的写法进行了详细说明,对应链接
    • 同时,上述链接最后一行给出的链接里也说明了都支持哪几种初始化方法,每种初始化方法需要哪些初始化参数可以看这个链接,或者直接在代码库的mmcv文件夹里的cnn/utils/weight_init.py文件里去看其初始定义,其实就是和pytorch里各个初始化函数所需要的参数一致
    • 到这里,我们已经知道了init_cfg里的type有哪些,并且每种type需要传递哪些参数
  • 第二步,去mmcls库里的backbone初始配置文件定义里看看官方都对不同的层进行了怎样的定义(寻找方式,去mmcls库对应版本的官方文档里找model zoo的地址(我这里是0.25.0版本的model zoo),之后在model zoo里找到对应的config文件地址),比如conv层用的什么初始化方式,LN层用了什么初始化方式等,然后再决定自己对应的层里应该怎么初始化
  • 第三步,同样参考官方backbone初始配置文件里定义的优化器设置自己从头训练想要的优化器

结论

  • 实测用官方相同的优化器参数、并在backbone后添加neck和head在自己的数据集上从头训练效果不佳,因此还是建议非必要尽量使用官方的预训练参数,这种预训练+下游微调的方式也是现在工业界的主流思路

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

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

相关文章

SpringBoot:使用Spring Batch实现批处理任务

引言 在企业级应用中,批处理任务是不可或缺的一部分。它们通常用于处理大量数据,如数据迁移、数据清洗、生成报告等。Spring Batch是Spring框架的一部分,专为批处理任务设计,提供了简化的配置和强大的功能。本文将介绍如何使用Spr…

6-Pandas使用自定义函数

Pandas使用自定义函数 如果想要应用自定义的函数,或者把其他库中的函数应用到 Pandas 对象中,有以下三种方法: 1) 操作整个 DataFrame 的函数:pipe()2) 操作行或者列的函数:apply()3) 操作单一元素的函数&#xff1a…

Python 教程---面向对象编程

面向对象编程 4.1 类和对象的概念类(Class)对象(Object)示例创建和使用类 4.2 类成员实例成员类成员静态成员示例 4.3 面向对象三要素封装(Encapsulation)继承(Inheritance)多态&…

单晶层状氧化物制作方法技术资料 纳离子技术

网盘 https://pan.baidu.com/s/1hjHsXvTXG74-0fDo5TtXWQ?pwd10jk 单晶型高熵普鲁士蓝正极材料及其制备方法与应用.pdf 厘米级铬氧化物单晶及其制备方法和存储器件.pdf 多孔氧化物单晶材料及其制备方法和应用.pdf 大单晶层状氧化物正极材料及其制备方法和应用.pdf 富钠P2相层状…

docker k8s

1、docker是什么? 将环境和程序一起打包给到 服务器运行的工具软件。 2、基础镜像base image是什么? 操作系统:用户空间、内核空间 阉割操作系统,利用其的用户空间(因为应用程序运行在用户空间)&#xf…

量化交易之机器学习篇 - 实现K近邻模型的两种方式

# 导入相关模块import numpy as npfrom collections import Counter import matplotlib.pyplot as pltfrom sklearn import datasets from sklearn.utils import shuffledef load_data():iris datasets.load_iris()# 打乱数据后的数据和标签X, y shuffle(iris.data, iris.tar…

【机器学习】在【Pycharm】中的应用:【线性回归模型】进行【房价预测】

专栏:机器学习笔记 pycharm专业版免费激活教程见资源,私信我给你发 python相关库的安装:pandas,numpy,matplotlib,statsmodels 1. 引言 线性回归(Linear Regression)是一种常见的统计方法和机器学习算法&a…

弹性力学讲义

弹性力学讲义 1. 基本假设和一些概念2. 应力3. 二维应力状态与摩尔库伦屈服准则 1. 基本假设和一些概念 力学:变形体力学–固体力学和流体力学(连续介质力学) 刚体力学–理论力学(一般力学) 物理受理后:要…

Facebook的投流技巧有哪些?

相信大家都知道Facebook拥有着巨大的用户群体和高转化率,在国外社交推广中的影响不言而喻。但随着Facebook广告的竞争越来越激烈,在Facebook广告上获得高投资回报率也变得越来越困难。IPIDEA代理IP今天就教大家如何在Facebook上投放广告的技巧&#xff0…

python–基础篇–正则表达式–是什么

文章目录 定义一:正则表达式就是记录文本规则的代码定义一:正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。初识 Python 正则表达式 定义一&a…

D : 合适的顺序

Description 给定 8 个数,如果将它们排成一列,每个数的权值是它与相邻的数之积,求一个排列方式,所有数的权值之和最大,输出该权值和. 例如 13242315 的权值和为 1∗33∗1∗22∗3∗44∗2∗22∗4∗33∗2∗11∗3∗55∗1…

新工具:轻松可视化基因组,部分功能超IGV~

本次分享一个Python基因组数据可视化工具figeno。 figeno擅长可视化三代long reads、跨区域基因组断点视图(multi-regions across genomic breakpoints)、表观组数据(HiC、ATAC-seq和ChIP-seq等)可视化、WGS中的CNV和SV可视化等。…

第四周——单词记忆

deploy 部署 attorney 律师 discrimination 歧视,区别 implicit 含蓄的 disposition 性格,倾向 entail 牵涉 retail 零售 imposing 印象深刻的 壮观的 implication 含义 entrenched 根深蒂固的 perplex 使复杂化 comply 遵守 composed 沉着…

小米平板6系列对比

小米平板6系列目前有4款,分别为6、6 Pro、6 Max、6S Pro。具体对比如下表所示。 小米平板型号66 Pro6 Max6S Pro实物图发布时间2023年4月21日2023年4月21日2023年8月14日2024年2月22 日屏幕大小11英寸11英寸14英寸12.4英寸分辨率2.8K2.8K2.8K3K刷新率144Hz144Hz120…

43 - 部门工资前三高的所有员工(高频 SQL 50 题基础版)

43 - 部门工资前三高的所有员工 # dense_rank 排名selectDepartment,Employee,Salary from(selectd.name as Department,e.name as Employee,e.salary as Salary,(dense_rank() over (partition by d.name order by e.salary desc)) as rankingfrom Employee e left join Depar…

数据库-存储过程,函数与触发器

创建存储过程:create procedure 存储过程名(参数) eg: CREATE PROCEDURE proc1() BEGIN SELECT * FROM user; END; 执行存储过程:call 存储过程名 创建带有参数的存储过程 存储过程的参数有三种: IN:输入参数,也是…

18 学渣的逆袭之路

在小学阶段(本篇特指五年级,一到四年级随便学学就可以逆袭90分,六年级难度飙升),无论你的分数怎么低,只要有一颗上进的心,就绝对可以逆袭95! 在本篇文章,我将会讲解“对于…

【前端那些事】Node.js的安装并配置镜像源

1、官网下载地址 Download Node.js 一步一步点击安装即可,可自定义安装目录 2、配置镜像源 # 设置淘宝镜像源 npm config set registry https://registry.npmmirror.com# 查看使用的镜像源 npm config get registry 如果需要恢复为npm默认的官方源&#xf…

intellij idea安装R包ggplot2报错问题求解

1、intellij idea安装R包ggplot2问题 在我上次解决图形显示问题后,发现安装ggplot2包时出现了问题,这在之前高版本中并没有出现问题, install.packages(ggplot2) ERROR: lazy loading failed for package lifecycle * removing C:/Users/V…

java:aocache的单实例缓存(一)

上一篇博客《java:aocache:基于aspectJ实现的方法缓存工具》介绍了aocache的基本使用, 介绍AoCacheable注解时说过,AoCacheable可以定义在构造方法上,定义在构造方法,该构建方法就成了单实例模式。 也就是说,只要构建…