class_docstr: Custom dataset for detection.
  
  The annotation format is shown as follows. The `ann` field is optional for
  testing.
  
  .. code-block:: none
  
      [
          {
              'filename': 'a.jpg',
              'width': 1280,
              'height': 720,
              'ann': {
                  'bboxes': <np.ndarray> (n, 4) in (x1, y1, x2, y2) order.
                  'labels': <np.ndarray> (n, ),
                  'bboxes_ignore': <np.ndarray> (k, 4), (optional field)
                  'labels_ignore': <np.ndarray> (k, 4) (optional field)
              }
          },
          ...
      ]
  
  Args:
      ann_file (str): Annotation file path.
      pipeline (list[dict]): Processing pipeline.
      classes (str | Sequence[str], optional): Specify classes to load.
          If is None, ``cls.CLASSES`` will be used. Default: None.
      data_root (str, optional): Data root for ``ann_file``,
          ``img_prefix``, ``seg_prefix``, ``proposal_file`` if specified.
      test_mode (bool, optional): If set True, annotation will not be loaded.
      filter_empty_gt (bool, optional): If set true, images without bounding
          boxes of the dataset's classes will be filtered out. This option
          only works when `test_mode=False`, i.e., we never filter images
          during tests.
class_docstr_tok: ["Custom","dataset","for","detection",".","The","annotation","format","is","shown","as","follows",".","The","`","ann","`","field","is","optional","for","testing",".","..","code-block",":",":","none","[","{","'filename","'",":","'","a.jpg","'",",","'width","'",":","1280",",","'height","'",":","720",",","'ann","'",":","{","'bboxes","'",":","<","np.ndarray",">","(","n",",","4",")","in","(","x1",",","y1",",","x2",",","y2",")","order",".","'labels","'",":","<","np.ndarray",">","(","n",",",")",",","'bboxes_ignore","'",":","<","np.ndarray",">","(","k",",","4",")",",","(","optional","field",")","'labels_ignore","'",":","<","np.ndarray",">","(","k",",","4",")","(","optional","field",")","}","}",",","...","]","Args",":","ann_file","(","str",")",":","Annotation","file","path",".","pipeline","(","list","[","dict","]",")",":","Processing","pipeline",".","classes","(","str","|","Sequence","[","str","]",",","optional",")",":","Specify","classes","to","load",".","If","is","None",",","``","cls.CLASSES","``","will","be","used",".","Default",":","None",".","data_root","(","str",",","optional",")",":","Data","root","for","``","ann_file","``",",","``","img_prefix","``",",","``","seg_prefix","``",",","``","proposal_file","``","if","specified",".","test_mode","(","bool",",","optional",")",":","If","set","True",",","annotation","will","not","be","loaded",".","filter_empty_gt","(","bool",",","optional",")",":","If","set","true",",","images","without","bounding","boxes","of","the","dataset","'s","classes","will","be","filtered","out",".","This","option","only","works","when","`","test_mode=False","`",",","i.e.",",","we","never","filter","images","during","tests","."]
docstr: Load proposal from proposal file.
docstr_tok: ["Load","proposal","from","proposal","file","."]
code: def load_proposals(self, proposal_file):
      """Load proposal from proposal file."""
      return mmcv.load(proposal_file)
  
imports: import os.path
  import warnings
  from collections import OrderedDict
  import mmcv
  import numpy
  from torch.utils.data import Dataset
  from mmdet.core import eval_map, eval_recalls
  from .builder import DATASETS
  from .pipelines import Compose
label_desc: Use image node_id 4 for calling the CustomDataset obj's underlying member method code with example usage: obj.load_proposals(proposal_file) and returns: mmcv