MCPcopy Create free account
hub / github.com/ChenhongyiYang/QueryDet-PyTorch / build_train_loader

Function build_train_loader

visdrone/dataloader.py:79–124  ·  view source on GitHub ↗
(cfg)

Source from the content-addressed store, hash-verified

77
78
79def build_train_loader(cfg):
80 num_workers = get_world_size()
81 images_per_batch = cfg.SOLVER.IMS_PER_BATCH
82
83 assert (
84 images_per_batch % num_workers == 0
85 ), "SOLVER.IMS_PER_BATCH ({}) must be divisible by the number of workers ({}).".format(
86 images_per_batch, num_workers
87 )
88 assert (
89 images_per_batch >= num_workers
90 ), "SOLVER.IMS_PER_BATCH ({}) must be larger than the number of workers ({}).".format(
91 images_per_batch, num_workers
92 )
93 images_per_worker = images_per_batch // num_workers
94
95 dataset_dicts = get_train_data_dicts(cfg.VISDRONE.TRAIN_JSON, cfg.VISDRONE.TRING_IMG_ROOT)
96 dataset = DatasetFromList(dataset_dicts, copy=False)
97 mapper = Mapper(cfg, True)
98 dataset = MapDataset(dataset, mapper)
99
100 sampler_name = cfg.DATALOADER.SAMPLER_TRAIN
101 logger = logging.getLogger(__name__)
102 logger.info("Using training sampler {}".format(sampler_name))
103
104 if sampler_name == "TrainingSampler":
105 sampler = samplers.TrainingSampler(len(dataset))
106 elif sampler_name == "RepeatFactorTrainingSampler":
107 sampler = samplers.RepeatFactorTrainingSampler(
108 dataset_dicts, cfg.DATALOADER.REPEAT_THRESHOLD
109 )
110 else:
111 raise ValueError("Unknown training sampler: {}".format(sampler_name))
112
113 batch_sampler = torch.utils.data.sampler.BatchSampler(
114 sampler, images_per_worker, drop_last=True
115 )
116 # drop_last so the batch always have the same size
117 data_loader = torch.utils.data.DataLoader(
118 dataset,
119 num_workers=cfg.DATALOADER.NUM_WORKERS,
120 batch_sampler=batch_sampler,
121 collate_fn=trivial_batch_collator,
122 worker_init_fn=worker_init_reset_seed,
123 )
124 return data_loader
125
126
127def build_test_loader(cfg):

Callers 2

build_train_loaderMethod · 0.90
build_train_loaderMethod · 0.90

Calls 2

MapperClass · 0.90
get_train_data_dictsFunction · 0.85

Tested by

no test coverage detected