code: def forward(self, feats: Tensor) -> tuple[Tensor, Tensor]:
      # input projection and embedding
      (
          memory,
          spatial_shapes,
          level_start_index,
      ) = self._get_encoder_input(feats)
  
      # prepare denoising training
      denoising_class, denoising_bbox_unact, attn_mask = (
          None,
          None,
          None,
      )
  
      (
          target,
          init_ref_points_unact,
          enc_topk_bboxes,
          enc_topk_logits,
      ) = self._get_decoder_input(
          memory, spatial_shapes, denoising_class, denoising_bbox_unact
      )
  
      # decoder
      out_bboxes, out_logits = self.decoder.forward(
          target,
          init_ref_points_unact,
          memory,
          spatial_shapes,
          level_start_index,
          self.dec_bbox_head,
          self.dec_score_head,
          self.query_pos_head,
          attn_mask=attn_mask,
      )
  
      return out_logits[-1], out_bboxes[-1]
  
imports: from __future__ import annotations
  from typing import Optional
  import torch
  from torch import nn
  from kornia.contrib.models.common import MLP, ConvNormAct
  from kornia.core import Module, Tensor, concatenate
label_desc: Use image node_id 2 for calling the RTDETRHead obj's underlying member method code with example usage: obj.forward(feats) and returns: out_logits,  out_bboxes