class_docstr: A class to load datasets, evaluate results for a datast split (e.g., "coco_train_2017")
  
  To use your own dataset that's not in COCO format, write a subclass that
  implements the interfaces.
docstr: Returns:
      roidbs (list[dict]):
  
  Produce "roidbs" as a list of dict, each dict corresponds to one image with k>=0 instances.
  and the following keys are expected for training:
  
  file_name: str, full path to the image
  boxes: numpy array of kx4 floats, each row is [x1, y1, x2, y2]
  class: numpy array of k integers, in the range of [1, #categories], NOT [0, #categories)
  is_crowd: k booleans. Use k False if you don't know what it means.
  segmentation: k lists of numpy arrays.
      Each list of numpy arrays corresponds to the mask for one instance.
      Each numpy array in the list is a polygon of shape Nx2,
      because one mask can be represented by N polygons.
      Each row in the Nx2 array is a (x, y) coordinate.
  
      If your segmentation annotations are originally masks rather than polygons,
      either convert it, or the augmentation will need to be changed or skipped accordingly.
  
      Include this field only if training Mask R-CNN.
  
  Coordinates in boxes & polygons are absolute coordinates in unit of pixels, unless
  cfg.DATA.ABSOLUTE_COORD is False.
code: def training_roidbs(self):
      """
      Returns:
          roidbs (list[dict]):
  
      Produce "roidbs" as a list of dict, each dict corresponds to one image with k>=0 instances.
      and the following keys are expected for training:
  
      file_name: str, full path to the image
      boxes: numpy array of kx4 floats, each row is [x1, y1, x2, y2]
      class: numpy array of k integers, in the range of [1, #categories], NOT [0, #categories)
      is_crowd: k booleans. Use k False if you don't know what it means.
      segmentation: k lists of numpy arrays.
          Each list of numpy arrays corresponds to the mask for one instance.
          Each numpy array in the list is a polygon of shape Nx2,
          because one mask can be represented by N polygons.
          Each row in the Nx2 array is a (x, y) coordinate.
  
          If your segmentation annotations are originally masks rather than polygons,
          either convert it, or the augmentation will need to be changed or skipped accordingly.
  
          Include this field only if training Mask R-CNN.
  
      Coordinates in boxes & polygons are absolute coordinates in unit of pixels, unless
      cfg.DATA.ABSOLUTE_COORD is False.
      """
      raise NotImplementedError()
  
file_path: tensorpack/examples/FasterRCNN/dataset/dataset.py
imports: from collections import defaultdict
label_desc: Use image node_id 1 for calling the DatasetSplit obj's underlying member method code with example usage: obj.training_roidbs() without return types