from omegaconf import OmegaConf import detectron2.data.transforms as T from detectron2.config import LazyCall as L from detectron2.data import ( DatasetMapper, build_detection_test_loader, build_detection_train_loader, get_detection_dataset_dicts, ) from detectron2.evaluation import COCOEvaluator dataloader = OmegaConf.create() dataloader.train = L(build_detection_train_loader)( dataset=L(get_detection_dataset_dicts)(names="coco_2017_train"), mapper=L(DatasetMapper)( is_train=True, augmentations=[ L(T.RandomApply)( tfm_or_aug=L(T.AugmentationList)( augs=[ L(T.ResizeShortestEdge)( short_edge_length=[400, 500, 600], sample_style="choice" ), L(T.RandomCrop)(crop_type="absolute_range", crop_size=(384, 600)), ] ), prob=0.5, ), L(T.ResizeShortestEdge)( short_edge_length=(480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800), sample_style="choice", max_size=1333, ), L(T.RandomFlip)(horizontal=True), ], image_format="RGB", use_instance_mask=True, ), total_batch_size=16, num_workers=4, ) dataloader.test = L(build_detection_test_loader)( dataset=L(get_detection_dataset_dicts)(names="coco_2017_val", filter_empty=False), mapper=L(DatasetMapper)( is_train=False, augmentations=[ L(T.ResizeShortestEdge)(short_edge_length=800, max_size=1333), ], image_format="${...train.mapper.image_format}", ), num_workers=4, ) dataloader.evaluator = L(COCOEvaluator)( dataset_name="${..test.dataset.names}", )