(aug, modal, use_memory_bank=True)
| 224 | |
| 225 | |
| 226 | def build_transforms(aug, modal, use_memory_bank=True): |
| 227 | if use_memory_bank: |
| 228 | # memory bank likes 0.08 |
| 229 | crop = 0.08 |
| 230 | else: |
| 231 | # moco cache likes 0.2 |
| 232 | crop = 0.2 |
| 233 | |
| 234 | if modal == 'RGB': |
| 235 | mean = [0.485, 0.456, 0.406] |
| 236 | std = [0.229, 0.224, 0.225] |
| 237 | color_transfer = RGB2RGB() |
| 238 | else: |
| 239 | mean = [0.457, -0.082, -0.052] |
| 240 | std = [0.500, 1.331, 1.333] |
| 241 | color_transfer = RGB2YDbDr() |
| 242 | normalize = transforms.Normalize(mean=mean, std=std) |
| 243 | |
| 244 | if aug == 'A': |
| 245 | # used in InsDis, MoCo, PIRL |
| 246 | train_transform = transforms.Compose([ |
| 247 | transforms.RandomResizedCrop(224, scale=(crop, 1.)), |
| 248 | transforms.RandomHorizontalFlip(), |
| 249 | transforms.ColorJitter(0.4, 0.4, 0.4, 0.4), |
| 250 | transforms.RandomGrayscale(p=0.2), |
| 251 | color_transfer, |
| 252 | transforms.ToTensor(), |
| 253 | normalize, |
| 254 | ]) |
| 255 | elif aug == 'B': |
| 256 | # used in MoCoV2 |
| 257 | train_transform = transforms.Compose([ |
| 258 | transforms.RandomResizedCrop(224, scale=(crop, 1.)), |
| 259 | transforms.RandomHorizontalFlip(), |
| 260 | transforms.RandomApply([ |
| 261 | transforms.ColorJitter(0.4, 0.4, 0.4, 0.1) |
| 262 | ], p=0.8), |
| 263 | transforms.RandomGrayscale(p=0.2), |
| 264 | transforms.RandomApply([GaussianBlur2()], p=0.5), |
| 265 | color_transfer, |
| 266 | transforms.ToTensor(), |
| 267 | normalize |
| 268 | ]) |
| 269 | elif aug == 'C': |
| 270 | # used in CMC, CMCPIRL |
| 271 | train_transform = transforms.Compose([ |
| 272 | transforms.RandomResizedCrop(224, scale=(crop, 1.)), |
| 273 | transforms.RandomHorizontalFlip(), |
| 274 | transforms.ColorJitter(0.4, 0.4, 0.4, 0.1), |
| 275 | color_transfer, |
| 276 | transforms.ToTensor(), |
| 277 | normalize, |
| 278 | ]) |
| 279 | elif aug == 'D': |
| 280 | # used in InfoMin |
| 281 | rgb_mean = (0.485, 0.456, 0.406) |
| 282 | ra_params = dict( |
| 283 | translate_const=int(224 * 0.45), |
no test coverage detected