class_docstr: Guided-Anchor-based RetinaNet head.
class_docstr_tok: ["Guided-Anchor-based","RetinaNet","head","."]
docstr: Forward feature map of a single scale level.
docstr_tok: ["Forward","feature","map","of","a","single","scale","level","."]
code: def forward_single(self, x: Tensor) -> Tuple[Tensor]:
      """Forward feature map of a single scale level."""
      cls_feat = x
      reg_feat = x
      for cls_conv in self.cls_convs:
          cls_feat = cls_conv(cls_feat)
      for reg_conv in self.reg_convs:
          reg_feat = reg_conv(reg_feat)
  
      loc_pred = self.conv_loc(cls_feat)
      shape_pred = self.conv_shape(reg_feat)
  
      cls_feat = self.feature_adaption_cls(cls_feat, shape_pred)
      reg_feat = self.feature_adaption_reg(reg_feat, shape_pred)
  
      if not self.training:
          mask = loc_pred.sigmoid()[0] >= self.loc_filter_thr
      else:
          mask = None
      cls_score = self.retina_cls(cls_feat, mask)
      bbox_pred = self.retina_reg(reg_feat, mask)
      return cls_score, bbox_pred, shape_pred, loc_pred
  
file_path: mmdetection/mmdet/models/dense_heads/ga_retina_head.py
imports: from typing import Tuple
  import torch.nn
  from mmcv.cnn import ConvModule
  from mmcv.ops import MaskedConv2d
  from torch import Tensor
  from mmdet.registry import MODELS
  from mmdet.utils import OptConfigType, OptMultiConfig
  from .guided_anchor_head import FeatureAdaption, GuidedAnchorHead
label_desc: Use image node_id 3 for calling the GARetinaHead obj's underlying member method code with example usage: obj.forward_single(x) and returns: cls_score,  bbox_pred,  shape_pred,  loc_pred