class_docstr: BFP (Balanced Feature Pyrmamids)
  
  BFP takes multi-level features as inputs and gather them into a single one,
  then refine the gathered feature and scatter the refined results to
  multi-level features. This module is used in Libra R-CNN (CVPR 2019), see
  the paper `Libra R-CNN: Towards Balanced Learning for Object Detection
  <https://arxiv.org/abs/1904.02701>`_ for details.
  
  Args:
      in_channels (int): Number of input channels (feature maps of all levels
          should have the same channels).
      num_levels (int): Number of input feature levels.
      conv_cfg (dict): The config dict for convolution layers.
      norm_cfg (dict): The config dict for normalization layers.
      refine_level (int): Index of integration and refine level of BSF in
          multi-level features from bottom to top.
      refine_type (str): Type of the refine op, currently support
          [None, 'conv', 'non_local'].
docstr: Initialize the weights of FPN module.
docstr_tok: ["Initialize","the","weights","of","FPN","module","."]
code: def init_weights(self):
      """Initialize the weights of FPN module."""
      for m in self.modules():
          if isinstance(m, nn.Conv2d):
              xavier_init(m, distribution="uniform")
  
file_path: insightface/detection/scrfd/mmdet/models/necks/bfp.py
imports: import torch.nn
  import torch.nn.functional
  from mmcv.cnn import ConvModule, xavier_init
  from mmcv.cnn.bricks import NonLocal2d
  import numpy
  from ..builder import NECKS
label_desc: Use image node_id 2 for calling the BFP obj's underlying member method code with example usage: obj.init_weights() without return types