docstr: PETR, see https://openaccess.thecvf.com/content/CVPR2022/papers/Shi_End-to-End_Multi-Person_Pose_Estimation_With_Transformers_CVPR_2022_paper.pdf
  
  Args:
      backbone (nn.Layer): backbone instance
      neck (nn.Layer): neck between backbone and head
      bbox_head (nn.Layer): model output and loss
docstr_tok: ["PETR",",","see","https",":","\/\/openaccess.thecvf.com\/content\/CVPR2022\/papers\/Shi_End-to-End_Multi-Person_Pose_Estimation_With_Transformers_CVPR_2022_paper.pdf","Args",":","backbone","(","nn.Layer",")",":","backbone","instance","neck","(","nn.Layer",")",":","neck","between","backbone","and","head","bbox_head","(","nn.Layer",")",":","model","output","and","loss"]
code: def __init__(
      self,
      backbone="ResNet",
      neck="ChannelMapper",
      bbox_head="PETRHead",
  ):
      """
      PETR, see https://openaccess.thecvf.com/content/CVPR2022/papers/Shi_End-to-End_Multi-Person_Pose_Estimation_With_Transformers_CVPR_2022_paper.pdf
  
      Args:
          backbone (nn.Layer): backbone instance
          neck (nn.Layer): neck between backbone and head
          bbox_head (nn.Layer): model output and loss
      """
      super(PETR, self).__init__()
      self.backbone = backbone
      if neck is not None:
          self.with_neck = True
      self.neck = neck
      self.bbox_head = bbox_head
      self.deploy = False
  
file_path: PaddleDetection/ppdet/modeling/architectures/keypoint_petr.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  from ppdet.core.workspace import register
  from .meta_arch import BaseArch
  from ..None import layers
label_desc: Use image node_id 1 to create a new PETR object from inherited base classes: BaseArch with example: obj = PETR(backbone, neck, bbox_head)