class_docstr: Upsample convolution block in decoder for UNet.
  
  This upsample convolution block consists of one upsample module
  followed by one convolution block. The upsample module expands the
  high-level low-resolution feature map and the convolution block fuses
  the upsampled high-level low-resolution feature map and the low-level
  high-resolution feature map from encoder.
  
  Args:
      conv_block (nn.Sequential): Sequential of convolutional layers.
      in_channels (int): Number of input channels of the high-level
      skip_channels (int): Number of input channels of the low-level
      high-resolution feature map from encoder.
      out_channels (int): Number of output channels.
      num_convs (int): Number of convolutional layers in the conv_block.
          Default: 2.
      stride (int): Stride of convolutional layer in conv_block. Default: 1.
      dilation (int): Dilation rate of convolutional layer in conv_block.
          Default: 1.
      with_cp (bool): Use checkpoint or not. Using checkpoint will save some
          memory while slowing down the training speed. Default: False.
      conv_cfg (dict | None): Config dict for convolution layer.
          Default: None.
      norm_cfg (dict | None): Config dict for normalization layer.
          Default: dict(type='BN').
      act_cfg (dict | None): Config dict for activation layer in ConvModule.
          Default: dict(type='ReLU').
      upsample_cfg (dict): The upsample config of the upsample module in
          decoder. Default: dict(type='InterpConv'). If the size of
          high-level feature map is the same as that of skip feature map
          (low-level feature map from encoder), it does not need upsample the
          high-level feature map and the upsample_cfg is None.
      dcn (bool): Use deformable convolution in convolutional layer or not.
          Default: None.
      plugins (dict): plugins for convolutional layers. Default: None.
docstr: Forward function.
docstr_tok: ["Forward","function","."]
code: def forward(self, skip, x):
      """Forward function."""
  
      x = self.upsample(x)
      out = torch.cat([skip, x], dim=1)
      out = self.conv_block(out)
  
      return out
  
imports: import torch
  import torch.nn
  import torch.utils.checkpoint
  from mmcv.cnn import ConvModule, build_norm_layer
  from mmengine.model import BaseModule
  from mmengine.utils.dl_utils.parrots_wrapper import _BatchNorm
  from mmocr.registry import MODELS
label_desc: Use image node_id 2 for calling the UpConvBlock obj's underlying member method code with example usage: obj.forward(skip, x) and returns: out