class_docstr: COCO keypoint detection dataset.
  
  Parameters
  ----------
  root : str, default '~/mxnet/datasets/coco'
      Path to folder storing the dataset.
  splits : list of str, default ['person_keypoints_val2017']
      Json annotations name.
      Candidates can be: person_keypoints_val2017, person_keypoints_train2017.
  check_centers : bool, default is False
      If true, will force check centers of bbox and keypoints, respectively.
      If centers are far away from each other, remove this label.
  skip_empty : bool, default is False
      Whether skip entire image if no valid label is found. Use `False` if this dataset is
      for validation to avoid COCO metric error.
docstr: Load all image paths and labels from JSON annotation files into buffer.
docstr_tok: ["Load","all","image","paths","and","labels","from","JSON","annotation","files","into","buffer","."]
code: def _load_jsons(self):
      """Load all image paths and labels from JSON annotation files into buffer."""
      items = []
      labels = []
      # lazy import pycocotools
      try_import_pycocotools()
      from pycocotools.coco import COCO
  
      for split in self._splits:
          anno = (
              os.path.join(self._root, "annotations", split) + ".json"
          )
          _coco = COCO(anno)
          self._coco.append(_coco)
          classes = [
              c["name"] for c in _coco.loadCats(_coco.getCatIds())
          ]
          if not classes == self.classes:
              raise ValueError(
                  "Incompatible category names with COCO: "
              )
          assert classes == self.classes
          json_id_to_contiguous = {
              v: k for k, v in enumerate(_coco.getCatIds())
          }
          if self.json_id_to_contiguous is None:
              self.json_id_to_contiguous = json_id_to_contiguous
              self.contiguous_id_to_json = {
                  v: k for k, v in self.json_id_to_contiguous.items()
              }
          else:
              assert self.json_id_to_contiguous == json_id_to_contiguous
          # iterate through the annotations
          image_ids = sorted(_coco.getImgIds())
          for entry in _coco.loadImgs(image_ids):
              dirname, filename = entry["coco_url"].split("/")[-2:]
              abs_path = os.path.join(self._root, dirname, filename)
              if not os.path.exists(abs_path):
                  raise IOError(
                      "Image: {} not exists.".format(abs_path)
                  )
              label = self._check_load_keypoints(_coco, entry)
              if not label:
                  continue
  
              # num of items are relative to person, not image
              for obj in label:
                  items.append(abs_path)
                  labels.append(obj)
      return items, labels
  
imports: from __future__ import absolute_import
  from __future__ import division
  import os
  import copy
  import numpy
  import mxnet
  from .utils import try_import_pycocotools
  from ..base import VisionDataset
  from ...utils.bbox import bbox_xywh_to_xyxy, bbox_clip_xyxy
label_desc: Use image node_id 9 for calling the COCOKeyPoints obj's underlying member method code with example usage: obj._load_jsons() and returns: items,  labels