class_docstr: Basic convolutional block for UNet.
  
  This module consists of several plain convolutional layers.
  
  Args:
      in_channels (int): Number of input channels.
      out_channels (int): Number of output channels.
      num_convs (int): Number of convolutional layers. Default: 2.
      stride (int): Whether use stride convolution to downsample
          the input feature map. If stride=2, it only uses stride convolution
          in the first convolutional layer to downsample the input feature
          map. Options are 1 or 2. Default: 1.
      dilation (int): Whether use dilated convolution to expand the
          receptive field. Set dilation rate of each convolutional layer and
          the dilation rate of the first convolutional layer is always 1.
          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').
      dcn (bool): Use deformable convolution in convolutional layer or not.
          Default: None.
      plugins (dict): plugins for convolutional layers. Default: None.
class_docstr_tok: ["Basic","convolutional","block","for","UNet",".","This","module","consists","of","several","plain","convolutional","layers",".","Args",":","in_channels","(","int",")",":","Number","of","input","channels",".","out_channels","(","int",")",":","Number","of","output","channels",".","num_convs","(","int",")",":","Number","of","convolutional","layers",".","Default",":","2.","stride","(","int",")",":","Whether","use","stride","convolution","to","downsample","the","input","feature","map",".","If","stride=2",",","it","only","uses","stride","convolution","in","the","first","convolutional","layer","to","downsample","the","input","feature","map",".","Options","are","1","or","2",".","Default",":","1.","dilation","(","int",")",":","Whether","use","dilated","convolution","to","expand","the","receptive","field",".","Set","dilation","rate","of","each","convolutional","layer","and","the","dilation","rate","of","the","first","convolutional","layer","is","always","1",".","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","'",")",".","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, x):
      """Forward function."""
  
      if self.with_cp and x.requires_grad:
          out = cp.checkpoint(self.convs, x)
      else:
          out = self.convs(x)
      return out
  
imports: import torch.nn
  import torch.utils.checkpoint
  from annotator.uniformer.mmcv.cnn import UPSAMPLE_LAYERS, ConvModule, build_activation_layer, build_norm_layer, constant_init, kaiming_init
  from annotator.uniformer.mmcv.runner import load_checkpoint
  from annotator.uniformer.mmcv.utils.parrots_wrapper import _BatchNorm
  from annotator.uniformer.mmseg.utils import get_root_logger
  from ..builder import BACKBONES
  from ..utils import UpConvBlock
label_desc: Use image node_id 2 for calling the BasicConvBlock obj's underlying member method code with example usage: obj.forward(x) and returns: out