class_docstr: Basic residual block.
  
  This block is a little different from the block in the ResNet backbone.
  The kernel size of conv1 is 1 in this block while 3 in ResNet BasicBlock.
  
  Args:
      in_channels (int): Channels of the input feature map.
      out_channels (int): Channels of the output feature map.
      conv_cfg (dict): The config dict for convolution layers.
      norm_cfg (dict): The config dict for normalization layers.
code: def forward(self, x):
      identity = x
  
      x = self.conv1(x)
      x = self.conv2(x)
  
      identity = self.conv_identity(identity)
      out = x + identity
  
      out = self.relu(out)
      return out
  
file_path: insightface/detection/scrfd/mmdet/models/roi_heads/bbox_heads/double_bbox_head.py
imports: import torch.nn
  from mmcv.cnn import ConvModule, normal_init, xavier_init
  from mmdet.models.backbones.resnet import Bottleneck
  from mmdet.models.builder import HEADS
  from .bbox_head import BBoxHead
label_desc: Use image node_id 2 for calling the BasicResBlock obj's underlying member method code with example usage: obj.forward(x) and returns: out