code: def forward(self, x):
      x = self.conv1(x)
      x = self.bn1(x)
      x = self.relu(x)
      x = self.conv2(x)
      x = self.bn2(x)
      x = self.relu(x)
      x = self.layer1(x)
  
      x_list = []
      for i in range(self.stage2_cfg["NUM_BRANCHES"]):
          if self.transition1[i] is not None:
              x_list.append(self.transition1[i](x))
          else:
              x_list.append(x)
      y_list = self.stage2(x_list)
  
      x_list = []
      for i in range(self.stage3_cfg["NUM_BRANCHES"]):
          if self.transition2[i] is not None:
              if i < self.stage2_cfg["NUM_BRANCHES"]:
                  x_list.append(self.transition2[i](y_list[i]))
              else:
                  x_list.append(self.transition2[i](y_list[-1]))
          else:
              x_list.append(y_list[i])
      y_list = self.stage3(x_list)
  
      x_list = []
      for i in range(self.stage4_cfg["NUM_BRANCHES"]):
          if self.transition3[i] is not None:
              if i < self.stage3_cfg["NUM_BRANCHES"]:
                  x_list.append(self.transition3[i](y_list[i]))
              else:
                  x_list.append(self.transition3[i](y_list[-1]))
          else:
              x_list.append(y_list[i])
      x = self.stage4(x_list)
  
      # Upsampling
      x0_h, x0_w = x[0].size(2), x[0].size(3)
      x1 = F.interpolate(
          x[1],
          size=(x0_h, x0_w),
          mode="bilinear",
          align_corners=ALIGN_CORNERS,
      )
      x2 = F.interpolate(
          x[2],
          size=(x0_h, x0_w),
          mode="bilinear",
          align_corners=ALIGN_CORNERS,
      )
      x3 = F.interpolate(
          x[3],
          size=(x0_h, x0_w),
          mode="bilinear",
          align_corners=ALIGN_CORNERS,
      )
  
      feats = torch.cat([x[0], x1, x2, x3], 1)
  
      out_aux_seg = []
  
      # ocr
      out_aux = self.aux_head(feats)
      # compute contrast feature
      feats = self.conv3x3_ocr(feats)
  
      context = self.ocr_gather_head(feats, out_aux)
      feats = self.ocr_distri_head(feats, context)
  
      out = self.cls_head(feats)
  
      out_aux_seg.append(out_aux)
      out_aux_seg.append(out)
  
      return out_aux_seg
  
imports: import os
  import logging
  import numpy
  import torch
  import torch.nn
  import torch._utils
  import torch.nn.functional
  from .bn_helper import BatchNorm2d, BatchNorm2d_class, relu_inplace
label_desc: Use image node_id 5 for calling the HighResolutionNet obj's underlying member method code with example usage: obj.forward(x) and returns: out_aux_seg