(self, batch_size, is_distributed, no_aug=False)
| 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 |
nothing calls this directly
no test coverage detected