MCPcopy Create free account
hub / github.com/UX-Decoder/Semantic-SAM / build_train_dataloader

Function build_train_dataloader

datasets/build.py:406–473  ·  view source on GitHub ↗
(cfg, )

Source from the content-addressed store, hash-verified

404
405
406def build_train_dataloader(cfg, ):
407 dataset_names = cfg['DATASETS']['TRAIN']
408
409 loaders = {}
410 cfg = copy.deepcopy(cfg)
411 for dataset_name in dataset_names:
412 cfg = get_config_from_name(cfg, dataset_name)
413 mapper_name = cfg['INPUT']['DATASET_MAPPER_NAME']
414 # Sam data dataset mapper
415 if mapper_name == "sam":
416 # print("using SamBaselineDatasetMapperJSON")
417 # mapper = SamBaselineDatasetMapperJSON(cfg, True)
418 mapper = SamBaselineDatasetMapper(cfg, True)
419 loaders['sam'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
420 elif mapper_name == "pascal_part":
421 mapper = MaskFormerInstanceDatasetMapper(cfg, True)
422 loaders['pascal'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
423 # pascal_part dataset mapper
424 elif mapper_name == "pascal_part_lsj":
425 mapper = PascalInstanceNewBaselineDatasetMapper(cfg, True)
426 loaders['pascal'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
427 # shared part dataset mapper
428 elif mapper_name == "part_all_filter_whole_lsj":
429 mapper = PartFilterWholeInstanceNewBaselineDatasetMapper(cfg, True,dataset_name=dataset_name)
430 # FIXME shared loader for all part data
431 name = dataset_name.split('_')[0]
432 loaders[name] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
433 # Semantic segmentation dataset mapper
434 elif mapper_name == "mask_former_semantic":
435 mapper = MaskFormerSemanticDatasetMapper(cfg, True)
436 loaders['coco'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
437 # Panoptic segmentation dataset mapper
438 elif mapper_name == "mask_former_panoptic": # TODO: Hack for ade training; should add ade name
439 mapper = MaskFormerPanopticDatasetMapper(cfg, True)
440 loaders['ade'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
441 # Instance segmentation dataset mapper
442 elif mapper_name == "mask_former_instance":
443 mapper = MaskFormerInstanceDatasetMapper(cfg, True)
444 loaders['coco'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
445 # coco instance segmentation lsj new baseline
446 elif mapper_name == "coco_instance_lsj":
447 mapper = COCOInstanceNewBaselineDatasetMapper(cfg, True)
448 loaders['coco'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
449 # coco panoptic segmentation lsj new baseline
450 elif mapper_name == "coco_panoptic_lsj":
451 mapper = COCOPanopticNewBaselineDatasetMapper(cfg, True)
452 loaders['coco'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
453 elif mapper_name == "coco_interactive_panoptic_lsj": # FIXME filter empty instances
454 mapper = COCOInteractivePanopticNewBaselineDatasetMapper(cfg, True)
455 loaders['coco'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
456 elif mapper_name == "mask_former_panoptic_interactive": # FIXME filter empty instances
457 mapper = MaskFormerPanopticDatasetMapperInteractive(cfg, True, dataset_name=dataset_name)
458 loaders['ade'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
459 elif mapper_name == "object365":
460 mapper = O365InstanceNewBaselineDatasetMapper(cfg, True) # Use lsj instance mapper for o365
461 loaders['o365'] = build_detection_train_loader(cfg, dataset_name=dataset_name, mapper=mapper)
462 else:
463 mapper = None

Callers 1

build_train_loaderMethod · 0.90

Tested by

no test coverage detected