class_docstr: COCO dataset for bottom-up pose estimation. 
  
  The dataset loads raw features and apply specified transforms
  to return a dict containing the image tensors and other information.
  
  COCO keypoint indexes::
  
      0: 'nose',
      1: 'left_eye',
      2: 'right_eye',
      3: 'left_ear',
      4: 'right_ear',
      5: 'left_shoulder',
      6: 'right_shoulder',
      7: 'left_elbow',
      8: 'right_elbow',
      9: 'left_wrist',
      10: 'right_wrist',
      11: 'left_hip',
      12: 'right_hip',
      13: 'left_knee',
      14: 'right_knee',
      15: 'left_ankle',
      16: 'right_ankle'
  
  Args:
      dataset_dir (str): Root path to the dataset.
      anno_path (str): Relative path to the annotation file.
      image_dir (str): Path to a directory where images are held.
          Default: None.
      num_joints (int): keypoint numbers
      transform (composed(operators)): A sequence of data transforms.
      shard (list): [rank, worldsize], the distributed env params
      test_mode (bool): Store True when building test or
          validation dataset. Default: False.
code: def __init__(
      self,
      dataset_dir,
      image_dir,
      anno_path,
      num_joints,
      transform=[],
      shard=[0, 1],
      test_mode=False,
      return_mask=True,
      return_bbox=True,
      return_area=True,
      return_class=True,
  ):
      super().__init__(
          dataset_dir,
          image_dir,
          anno_path,
          num_joints,
          transform,
          shard,
          test_mode,
      )
  
      self.ann_file = os.path.join(dataset_dir, anno_path)
      self.shard = shard
      self.test_mode = test_mode
      self.return_mask = return_mask
      self.return_bbox = return_bbox
      self.return_area = return_area
      self.return_class = return_class
  
imports: import os
  import cv2
  import numpy
  import json
  import copy
  import pycocotools
  from pycocotools.coco import COCO
  from .dataset import DetDataset
  from ppdet.core.workspace import register, serializable
label_desc: Use image node_id 1 to create a new KeypointBottomUpCocoDataset object from inherited base classes: KeypointBottomUpBaseDataset with example: obj = KeypointBottomUpCocoDataset(dataset_dir, image_dir, anno_path, num_joints, transform, shard, test_mode, return_mask, return_bbox, return_area, return_class)