code: def update(self, inputs, outputs):
      kpts, _ = outputs["keypoint"][0]
      num_images = inputs["image"].shape[0]
      self.results["preds"][
          self.idx : self.idx + num_images, :, 0:3
      ] = kpts[:, :, 0:3]
      self.idx += num_images
  
imports: import os
  import json
  from collections import defaultdict, OrderedDict
  import numpy
  import paddle
  from pycocotools.coco import COCO
  from pycocotools.cocoeval import COCOeval
  from ..modeling.keypoint_utils import oks_nms, keypoint_pck_accuracy, keypoint_auc, keypoint_epe
  from scipy.io import loadmat, savemat
  from ppdet.utils.logger import setup_logger
label_desc: Use image node_id 4 for calling the KeyPointTopDownCOCOWholeBadyHandEval obj's underlying member method code with example usage: obj.update(inputs, outputs) without return types