Make_one_branch()
Layers[] layers.append
Make one branch 创建一个新的并行行
循环layers.append 在每一行的第一个进行降采样,其他循环添加
make_fuse_layer()
建立融合数组 构建相加累积的数组
for i
for j
如果j=i,不需要添加
如果j>i,进行上采样
j<i,进行下采样
构建 stage1 的 layer _make_layer()
stage1 产生 1/4 feature map,没有 branch 分支结构,采用与 resnet 完成一样的 _make_layer() 函数构建层
第一层根据blocks来循环构建
构建 stage 2/3/4 的 layer _make_stage
stage 2/3/4 为 HRNet 核心结构,用到了核心类 HighResolutionModule,内含 make_branches 构建和特征 _make_fuse_layers 模块
计算loss
batch_size = output.size(0) num_joints = output.size(1)