class_docstr: RFP (Recursive Feature Pyramid)
  
  This is an implementation of RFP in `DetectoRS
  <https://arxiv.org/pdf/2006.02334.pdf>`_. Different from standard FPN, the
  input of RFP should be multi level features along with origin input image
  of backbone.
  
  Args:
      rfp_steps (int): Number of unrolled steps of RFP.
      rfp_backbone (dict): Configuration of the backbone for RFP.
      aspp_out_channels (int): Number of output channels of ASPP module.
      aspp_dilations (tuple[int]): Dilation rates of four branches.
          Default: (1, 3, 6, 1)
      init_cfg (dict or list[dict], optional): Initialization config dict.
          Default: None
class_docstr_tok: ["RFP","(","Recursive","Feature","Pyramid",")","This","is","an","implementation","of","RFP","in","`","DetectoRS","<","https",":","\/\/arxiv.org\/pdf\/2006.02334.pdf",">","`","_",".","Different","from","standard","FPN",",","the","input","of","RFP","should","be","multi","level","features","along","with","origin","input","image","of","backbone",".","Args",":","rfp_steps","(","int",")",":","Number","of","unrolled","steps","of","RFP",".","rfp_backbone","(","dict",")",":","Configuration","of","the","backbone","for","RFP",".","aspp_out_channels","(","int",")",":","Number","of","output","channels","of","ASPP","module",".","aspp_dilations","(","tuple","[","int","]",")",":","Dilation","rates","of","four","branches",".","Default",":","(","1",",","3",",","6",",","1",")","init_cfg","(","dict","or","list","[","dict","]",",","optional",")",":","Initialization","config","dict",".","Default",":","None"]
code: def init_weights(self):
      # Avoid using super().init_weights(), which may alter the default
      # initialization of the modules in self.rfp_modules that have missing
      # keys in the pretrained checkpoint.
      for convs in [self.lateral_convs, self.fpn_convs]:
          for m in convs.modules():
              if isinstance(m, nn.Conv2d):
                  xavier_init(m, distribution="uniform")
      for rfp_idx in range(self.rfp_steps - 1):
          self.rfp_modules[rfp_idx].init_weights()
      constant_init(self.rfp_weight, 0)
  
file_path: mmdetection/mmdet/models/necks/rfp.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from mmengine.model import BaseModule, ModuleList, constant_init, xavier_init
  from mmdet.registry import MODELS
  from .fpn import FPN
label_desc: Use image node_id 2 for calling the RFP obj's underlying member method code with example usage: obj.init_weights() without return types