Backbone部分
- Backbone部分的代码在mmpose\models\backbones\hrnet.py中,该脚本文件调用了ResNet的BasicBlock和Bottleneck,我们只需要关注HRNet类即可,其构造参数解释如下:
extra (dict): HRNet中每一个Stage的详细配置
in_channels (int): 输入图像的通道数,默认为3
conv_cfg (dict): 卷积层的配置
norm_cfg (dict): 归一化层的配置
norm_eval (bool): 是否将归一化层设为冻结模式,训练阶段默认为False
with_cp (bool): 是否使用预训练权重
zero_init_residual (bool):是否对resblock中的最后一个norm层使用零值初始化
frozen_stages (int): 设置拿个stage冻结权重,-1 表示不冻结任何权重
- 从原始Image到Stage之间会经过Stem结构,Stem结构由两个步距为2的3×3卷积组成,用来将分辨率降为输入的1/4,其代码部分如下所示:
self.norm1_name, norm1 = build_norm_layer(self.norm_cfg, 64, postfix=1)
# norm1 = BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, trac
|