code: def _make_one_branch(
      self, branch_index, block, num_blocks, num_channels, stride=1
  ):
      downsample = None
      if (
          stride != 1
          or self.num_inchannels[branch_index]
          != num_channels[branch_index] * block.expansion
      ):
          downsample = nn.Sequential(
              nn.Conv2d(
                  self.num_inchannels[branch_index],
                  num_channels[branch_index] * block.expansion,
                  kernel_size=1,
                  stride=stride,
                  bias=False,
              ),
              self.norm_layer(
                  num_channels[branch_index] * block.expansion
              ),
          )
  
      layers = []
      layers.append(
          block(
              self.num_inchannels[branch_index],
              num_channels[branch_index],
              stride,
              downsample=downsample,
              norm_layer=self.norm_layer,
          )
      )
      self.num_inchannels[branch_index] = (
          num_channels[branch_index] * block.expansion
      )
      for i in range(1, num_blocks[branch_index]):
          layers.append(
              block(
                  self.num_inchannels[branch_index],
                  num_channels[branch_index],
                  norm_layer=self.norm_layer,
              )
          )
  
      return nn.Sequential(*layers)
  
imports: import os
  import torch
  import torch._utils
  import numpy
  import torch.nn
  import torch.nn.functional
  from cftool.misc import print_info
  from .ocr import SpatialOCR_Module
  from .ocr import SpatialGather_Module
  from .resnetv1b import BottleneckV1b
  from .resnetv1b import BasicBlockV1b
label_desc: Use image node_id 3 for calling the HighResolutionModule obj's underlying member method code with example usage: obj._make_one_branch(branch_index, block, num_blocks, num_channels, stride) and returns: nn