MCPcopy Create free account
hub / github.com/FoundationVision/ByteTrack / get_data_loader

Method get_data_loader

exps/default/yolov3.py:35–89  ·  view source on GitHub ↗
(self, batch_size, is_distributed, no_aug=False)

Source from the content-addressed store, hash-verified

33 return self.model
34
35 def get_data_loader(self, batch_size, is_distributed, no_aug=False):
36 from data.datasets.cocodataset import COCODataset
37 from data.datasets.mosaicdetection import MosaicDetection
38 from data.datasets.data_augment import TrainTransform
39 from data.datasets.dataloading import YoloBatchSampler, DataLoader, InfiniteSampler
40 import torch.distributed as dist
41
42 dataset = COCODataset(
43 data_dir='data/COCO/',
44 json_file=self.train_ann,
45 img_size=self.input_size,
46 preproc=TrainTransform(
47 rgb_means=(0.485, 0.456, 0.406),
48 std=(0.229, 0.224, 0.225),
49 max_labels=50
50 ),
51 )
52
53 dataset = MosaicDetection(
54 dataset,
55 mosaic=not no_aug,
56 img_size=self.input_size,
57 preproc=TrainTransform(
58 rgb_means=(0.485, 0.456, 0.406),
59 std=(0.229, 0.224, 0.225),
60 max_labels=120
61 ),
62 degrees=self.degrees,
63 translate=self.translate,
64 scale=self.scale,
65 shear=self.shear,
66 perspective=self.perspective,
67 )
68
69 self.dataset = dataset
70
71 if is_distributed:
72 batch_size = batch_size // dist.get_world_size()
73 sampler = InfiniteSampler(len(self.dataset), seed=self.seed if self.seed else 0)
74 else:
75 sampler = torch.utils.data.RandomSampler(self.dataset)
76
77 batch_sampler = YoloBatchSampler(
78 sampler=sampler,
79 batch_size=batch_size,
80 drop_last=False,
81 input_dimension=self.input_size,
82 mosaic=not no_aug
83 )
84
85 dataloader_kwargs = {"num_workers": self.data_num_workers, "pin_memory": True}
86 dataloader_kwargs["batch_sampler"] = batch_sampler
87 train_loader = DataLoader(self.dataset, **dataloader_kwargs)
88
89 return train_loader

Callers

nothing calls this directly

Calls 5

TrainTransformClass · 0.90
MosaicDetectionClass · 0.90
DataLoaderClass · 0.90
InfiniteSamplerClass · 0.85
YoloBatchSamplerClass · 0.85

Tested by

no test coverage detected