class_docstr: "RetinaHead with separate BN.
  
  In RetinaHead, conv/norm layers are shared across different FPN levels,
  while in RetinaSepBNHead, conv layers are shared across different FPN
  levels, but BN layers are separated.
class_docstr_tok: ["``","RetinaHead","with","separate","BN",".","In","RetinaHead",",","conv\/norm","layers","are","shared","across","different","FPN","levels",",","while","in","RetinaSepBNHead",",","conv","layers","are","shared","across","different","FPN","levels",",","but","BN","layers","are","separated","."]
docstr: Initialize weights of the head.
docstr_tok: ["Initialize","weights","of","the","head","."]
code: def init_weights(self) -> None:
      """Initialize weights of the head."""
      super().init_weights()
      for m in self.cls_convs[0]:
          normal_init(m.conv, std=0.01)
      for m in self.reg_convs[0]:
          normal_init(m.conv, std=0.01)
      bias_cls = bias_init_with_prob(0.01)
      normal_init(self.retina_cls, std=0.01, bias=bias_cls)
      normal_init(self.retina_reg, std=0.01)
  
file_path: mmdetection/mmdet/models/dense_heads/retina_sepbn_head.py
imports: from typing import Tuple
  import torch.nn
  from mmcv.cnn import ConvModule
  from mmengine.model import bias_init_with_prob, normal_init
  from torch import Tensor
  from mmdet.registry import MODELS
  from mmdet.utils import OptConfigType, OptMultiConfig
  from .anchor_head import AnchorHead
label_desc: Use image node_id 3 for calling the RetinaSepBNHead obj's underlying member method code with example usage: obj.init_weights() without return types