class_docstr: Channel Mapper to reduce/increase channels of backbone features.
  
  This is used to reduce/increase channels of backbone features.
  
  Args:
      in_channels (List[int]): Number of input channels per scale.
      out_channels (int): Number of output channels (used at each scale).
      kernel_size (int, optional): kernel_size for reducing channels (used
          at each scale). Default: 3.
      conv_cfg (dict, optional): Config dict for convolution layer.
          Default: None.
      norm_cfg (dict, optional): Config dict for normalization layer.
          Default: None.
      act_cfg (dict, optional): Config dict for activation layer in
          ConvModule. Default: dict(type='ReLU').
  
  Example:
      >>> import torch
      >>> in_channels = [2, 3, 5, 7]
      >>> scales = [340, 170, 84, 43]
      >>> inputs = [torch.rand(1, c, s, s)
      ...           for c, s in zip(in_channels, scales)]
      >>> self = ChannelMapper(in_channels, 11, 3).eval()
      >>> outputs = self.forward(inputs)
      >>> for i in range(len(outputs)):
      ...     print(f'outputs[{i}].shape = {outputs[i].shape}')
      outputs[0].shape = torch.Size([1, 11, 340, 340])
      outputs[1].shape = torch.Size([1, 11, 170, 170])
      outputs[2].shape = torch.Size([1, 11, 84, 84])
      outputs[3].shape = torch.Size([1, 11, 43, 43])
docstr: Forward function.
docstr_tok: ["Forward","function","."]
code: def forward(self, inputs):
      """Forward function."""
      assert len(inputs) == len(self.convs)
      outs = [self.convs[i](inputs[i]) for i in range(len(inputs))]
      return tuple(outs)
  
file_path: insightface/detection/scrfd/mmdet/models/necks/channel_mapper.py
imports: import torch.nn
  from mmcv.cnn import ConvModule, xavier_init
  from ..builder import NECKS
label_desc: Use image node_id 3 for calling the ChannelMapper obj's underlying member method code with example usage: obj.forward(inputs) and returns: tuple