class_docstr: CenterNetUpdateHead is an improved version of CenterNet in CenterNet2.
  
  Paper link `<https://arxiv.org/abs/2103.07461>`_.
class_docstr_tok: ["CenterNetUpdateHead","is","an","improved","version","of","CenterNet","in","CenterNet2",".","Paper","link","`","<","https",":","\/\/arxiv.org\/abs\/2103.07461",">","`","_","."]
docstr: Forward features from the upstream network.
  
  Args:
      x (tuple[Tensor]): Features from the upstream network, each is
          a 4D-tensor.
  
  Returns:
      tuple: A tuple of each level outputs.
  
      - cls_scores (list[Tensor]): Box scores for each scale level,             each is a 4D-tensor, the channel number is num_classes.
      - bbox_preds (list[Tensor]): Box energies / deltas for each             scale level, each is a 4D-tensor, the channel number is 4.
docstr_tok: ["Forward","features","from","the","upstream","network",".","Args",":","x","(","tuple","[","Tensor","]",")",":","Features","from","the","upstream","network",",","each","is","a","4D-tensor",".","Returns",":","tuple",":","A","tuple","of","each","level","outputs",".","-","cls_scores","(","list","[","Tensor","]",")",":","Box","scores","for","each","scale","level",",","each","is","a","4D-tensor",",","the","channel","number","is","num_classes",".","-","bbox_preds","(","list","[","Tensor","]",")",":","Box","energies","\/","deltas","for","each","scale","level",",","each","is","a","4D-tensor",",","the","channel","number","is","4","."]
code: def forward(
      self, x: Tuple[Tensor]
  ) -> Tuple[List[Tensor], List[Tensor]]:
      """Forward features from the upstream network.
  
          Args:
              x (tuple[Tensor]): Features from the upstream network, each is
                  a 4D-tensor.
  
          Returns:
              tuple: A tuple of each level outputs.
  
              - cls_scores (list[Tensor]): Box scores for each scale level, \
              each is a 4D-tensor, the channel number is num_classes.
              - bbox_preds (list[Tensor]): Box energies / deltas for each \
              scale level, each is a 4D-tensor, the channel number is 4.
          """
      res = multi_apply(
          self.forward_single, x, self.scales, self.strides
      )
      return res
  
file_path: mmdetection/projects/Detic/detic/centernet_rpn_head.py
imports: import copy
  from typing import List, Sequence, Tuple
  import torch
  import torch.nn
  from mmcv.cnn import Scale
  from mmengine import ConfigDict
  from mmengine.structures import InstanceData
  from torch import Tensor
  from mmdet.models.dense_heads import CenterNetUpdateHead
  from mmdet.models.utils import multi_apply
  from mmdet.registry import MODELS
label_desc: Use image node_id 3 for calling the CenterNetRPNHead obj's underlying member method code with example usage: obj.forward(x) and returns: res