(config)
| 146 | |
| 147 | |
| 148 | def build_loader2(config): |
| 149 | config.defrost() |
| 150 | dataset_train, config.MODEL.NUM_CLASSES = build_dataset('train', config=config) |
| 151 | config.freeze() |
| 152 | dataset_val, _ = build_dataset('val', config=config) |
| 153 | dataset_test, _ = build_dataset('test', config=config) |
| 154 | |
| 155 | data_loader_train = torch.utils.data.DataLoader( |
| 156 | dataset_train, |
| 157 | shuffle=True, |
| 158 | batch_size=config.DATA.BATCH_SIZE, |
| 159 | num_workers=config.DATA.NUM_WORKERS, |
| 160 | pin_memory=config.DATA.PIN_MEMORY, |
| 161 | drop_last=True, |
| 162 | persistent_workers=True) if dataset_train is not None else None |
| 163 | |
| 164 | data_loader_val = torch.utils.data.DataLoader( |
| 165 | dataset_val, |
| 166 | batch_size=config.DATA.BATCH_SIZE, |
| 167 | shuffle=False, |
| 168 | num_workers=config.DATA.NUM_WORKERS, |
| 169 | pin_memory=config.DATA.PIN_MEMORY, |
| 170 | drop_last=False, |
| 171 | persistent_workers=True) if dataset_val is not None else None |
| 172 | |
| 173 | data_loader_test = torch.utils.data.DataLoader( |
| 174 | dataset_test, |
| 175 | batch_size=config.DATA.BATCH_SIZE, |
| 176 | shuffle=False, |
| 177 | num_workers=config.DATA.NUM_WORKERS, |
| 178 | pin_memory=config.DATA.PIN_MEMORY, |
| 179 | drop_last=False, |
| 180 | persistent_workers=True) if dataset_test is not None else None |
| 181 | |
| 182 | # setup mixup / cutmix |
| 183 | mixup_fn = None |
| 184 | mixup_active = config.AUG.MIXUP > 0 or config.AUG.CUTMIX > 0. or config.AUG.CUTMIX_MINMAX is not None |
| 185 | if mixup_active: |
| 186 | mixup_fn = Mixup(mixup_alpha=config.AUG.MIXUP, |
| 187 | cutmix_alpha=config.AUG.CUTMIX, |
| 188 | cutmix_minmax=config.AUG.CUTMIX_MINMAX, |
| 189 | prob=config.AUG.MIXUP_PROB, |
| 190 | switch_prob=config.AUG.MIXUP_SWITCH_PROB, |
| 191 | mode=config.AUG.MIXUP_MODE, |
| 192 | label_smoothing=config.MODEL.LABEL_SMOOTHING, |
| 193 | num_classes=config.MODEL.NUM_CLASSES) |
| 194 | |
| 195 | return dataset_train, dataset_val, dataset_test, data_loader_train, \ |
| 196 | data_loader_val, data_loader_test, mixup_fn |
| 197 | |
| 198 | |
| 199 | def build_dataset(split, config): |
no test coverage detected