class_docstr: Used in RetinaNet proposed in paper https://arxiv.org/pdf/1708.02002.pdf
      
class_docstr_tok: ["Used","in","RetinaNet","proposed","in","paper","https",":","\/\/arxiv.org\/pdf\/1708.02002.pdf"]
code: def forward(self, neck_feats, targets=None):
      cls_logits_list = []
      bboxes_reg_list = []
      for neck_feat in neck_feats:
          conv_cls_feat, conv_reg_feat = self.conv_feat(neck_feat)
          cls_logits = self.retina_cls(conv_cls_feat)
          bbox_reg = self.retina_reg(conv_reg_feat)
          cls_logits_list.append(cls_logits)
          bboxes_reg_list.append(bbox_reg)
  
      if self.training:
          return self.get_loss(
              [cls_logits_list, bboxes_reg_list], targets
          )
      else:
          return [cls_logits_list, bboxes_reg_list]
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle import ParamAttr
  from paddle.nn.initializer import Normal, Constant
  from ppdet.modeling.bbox_utils import bbox2delta, delta2bbox
  from ppdet.modeling.heads.fcos_head import FCOSFeat
  from ppdet.core.workspace import register
label_desc: Use image node_id 2 for calling the RetinaHead obj's underlying member method code with example usage: obj.forward(neck_feats, targets) and returns: self, list