class_docstr: An anchor-based head used in `RetinaNet
  <https://arxiv.org/pdf/1708.02002.pdf>`_.
  
  The head contains two subnetworks. The first classifies anchor boxes and
  the second regresses deltas for the anchors.
  
  Example:
      >>> import torch
      >>> self = RetinaHead(11, 7)
      >>> x = torch.rand(1, 7, 32, 32)
      >>> cls_score, bbox_pred = self.forward_single(x)
      >>> # Each anchor predicts a score for each class except background
      >>> cls_per_anchor = cls_score.shape[1] / self.num_anchors
      >>> box_per_anchor = bbox_pred.shape[1] / self.num_anchors
      >>> assert cls_per_anchor == (self.num_classes)
      >>> assert box_per_anchor == 4
docstr: Initialize weights of the head.
docstr_tok: ["Initialize","weights","of","the","head","."]
code: def init_weights(self):
      """Initialize weights of the head."""
      for m in self.cls_convs:
          normal_init(m.conv, std=0.01)
      for m in self.reg_convs:
          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: insightface/detection/scrfd/mmdet/models/dense_heads/retina_head.py
imports: import torch.nn
  from mmcv.cnn import ConvModule, bias_init_with_prob, normal_init
  from ..builder import HEADS
  from .anchor_head import AnchorHead
label_desc: Use image node_id 3 for calling the RetinaHead obj's underlying member method code with example usage: obj.init_weights() without return types