code: def build_evaluator(cls, cfg, dataset_name, output_folder=None):
      if output_folder is None:
          output_folder = os.path.join(cfg.OUTPUT_DIR, "inference")
      if "coco" in dataset_name:
          return COCOEvaluator(dataset_name, cfg, True, output_folder)
      else:
          assert "voc" in dataset_name, "Dataset must be coco or voc"
          return PascalVOCDetectionEvaluator(dataset_name)
  
file_path: vissl/tools/object_detection_benchmark.py
imports: import os
  from detectron2.checkpoint import DetectionCheckpointer
  from detectron2.config import get_cfg
  from detectron2.engine import default_argument_parser, default_setup, DefaultTrainer, launch
  from detectron2.evaluation import COCOEvaluator, PascalVOCDetectionEvaluator
  from detectron2.layers import get_norm
  from detectron2.modeling.roi_heads import Res5ROIHeads, ROI_HEADS_REGISTRY
label_desc: Use image node_id 1 for calling the Trainer obj's underlying member method code with example usage: obj.build_evaluator(cls, cfg, dataset_name, output_folder) and returns: COCOEvaluator, PascalVOCDetectionEvaluator