class_docstr: HRNet, see https://arxiv.org/abs/1908.07919
  
  Args:
      width (int): the width of HRNet
      has_se (bool): whether to add SE block for each stage
      freeze_at (int): the stage to freeze
      freeze_norm (bool): whether to freeze norm in HRNet
      norm_momentum (float): momentum of BatchNorm
      norm_decay (float): weight decay for normalization layer weights
      return_idx (List): the stage to return
      upsample (bool): whether to upsample and concat the backbone feats
class_docstr_tok: ["HRNet",",","see","https",":","\/\/arxiv.org\/abs\/1908.07919","Args",":","width","(","int",")",":","the","width","of","HRNet","has_se","(","bool",")",":","whether","to","add","SE","block","for","each","stage","freeze_at","(","int",")",":","the","stage","to","freeze","freeze_norm","(","bool",")",":","whether","to","freeze","norm","in","HRNet","norm_momentum","(","float",")",":","momentum","of","BatchNorm","norm_decay","(","float",")",":","weight","decay","for","normalization","layer","weights","return_idx","(","List",")",":","the","stage","to","return","upsample","(","bool",")",":","whether","to","upsample","and","concat","the","backbone","feats"]
code: def forward(self, inputs):
      x = inputs["image"]
      conv1 = self.conv_layer1_1(x)
      conv2 = self.conv_layer1_2(conv1)
  
      la1 = self.la1(conv2)
      tr1 = self.tr1([la1])
      st2 = self.st2(tr1)
      tr2 = self.tr2(st2)
  
      st3 = self.st3(tr2)
      tr3 = self.tr3(st3)
  
      st4 = self.st4(tr3)
  
      if self.upsample:
          # Upsampling
          x0_h, x0_w = st4[0].shape[2:4]
          x1 = F.upsample(st4[1], size=(x0_h, x0_w), mode="bilinear")
          x2 = F.upsample(st4[2], size=(x0_h, x0_w), mode="bilinear")
          x3 = F.upsample(st4[3], size=(x0_h, x0_w), mode="bilinear")
          x = paddle.concat([st4[0], x1, x2, x3], 1)
          return x
  
      if self.downsample:
          y = self.incre_modules[0](st4[0])
          for i in range(len(self.downsamp_modules)):
              y = self.incre_modules[i + 1](
                  st4[i + 1]
              ) + self.downsamp_modules[i](y)
          y = self.final_layer(y)
          return y
  
      res = []
      for i, layer in enumerate(st4):
          if i == self.freeze_at:
              layer.stop_gradient = True
          if i in self.return_idx:
              res.append(layer)
  
      return res
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.nn import AdaptiveAvgPool2D, Linear
  from paddle.regularizer import L2Decay
  from paddle import ParamAttr
  from paddle.nn.initializer import Normal, Uniform
  from numbers import Integral
  import math
  from ppdet.core.workspace import register
  from ..shape_spec import ShapeSpec
label_desc: Use image node_id 4 for calling the HRNet obj's underlying member method code with example usage: obj.forward(inputs) and returns: res, x, y