
mmdetection
ydestspring
这个作者很懒,什么都没留下…
展开
-
centernet损失函数修改记录
想将centernet中w,h的loss修正关联起来,采用iouloss进行优化,于是需修改loss函数,注意事项如下:(1)loss函数本身到网络的输出层存在一个函数,这个函数求导,再逐层链式向前求导,完成训练。所以,自己写出的损失函数到pred一定要明确可导,不能乱写。(2)写损失函数尽量使用torch自带的函数和+,-,*,/号进行操作,避免新建变量和for循环等操作,容易造成梯度无法反向传播。(3)正常操作流程如下:loss函数继承nn.module模块,编写forward过程。(4原创 2021-11-19 17:44:27 · 1553 阅读 · 7 评论 -
pytorch及mmdet模型训练学习笔记
(1)定义模型基本操作:定义一个class继承BaseModule,class为模型的类一个class中包括2部分,init和forward函数init为初始化,固定套路继承父类init,用super函数写super(BasicBlock, self).__init__(init_cfg)forward为前向传播函数,即定义数据进来后如何前向传播,包含了数据输入,处理,输出过程。(2)具体分析一个forward函数def _inner_forward(x): id原创 2021-09-11 16:14:51 · 1341 阅读 · 0 评论 -
mmdet之centernet损失函数记录
1.损失函数在bbox_head中定义,类型为CenterNetHead具体相关代码bbox_head=dict( type='CenterNetHead', num_classes=5, in_channel=64, feat_channel=64, loss_center_heatmap=dict(type='GaussianFocalLoss', loss_weight=1.0), loss_wh=dict(type='L1Loss',原创 2021-08-19 16:45:26 · 1218 阅读 · 0 评论 -
mmdet框架训练流程通俗理解
mmdet2版本训练执行文件为tools/train.py执行train.py文件后,主要做3件事:(1)创建model;(2)创建dataset;(3)根据配置进行训练,即调用train_detector函数;创建model执行model=build_detector函数创建该函数首先会注册models类,再根据配置生成响应的model这个过程用到了解释器@语法,语法较为复杂通俗理解:就是根据具体的models的类型,如backbone、neck、head等,按照字典表进行原创 2021-08-04 15:44:02 · 1953 阅读 · 0 评论