MCPcopy Create free account
hub / github.com/OpenGVLab/InternVL / build_dataset

Function build_dataset

classification/dataset/build.py:199–263  ·  view source on GitHub ↗
(split, config)

Source from the content-addressed store, hash-verified

197
198
199def build_dataset(split, config):
200 if config.DATA.TRANSFORM == 'build_transform':
201 transform = build_transform(split == 'train', config)
202 elif config.DATA.TRANSFORM == 'build_transform_for_linear_probe':
203 transform = build_transform_for_linear_probe(split == 'train', config)
204 else:
205 raise NotImplementedError
206 print(split, transform)
207 dataset = None
208 nb_classes = None
209 prefix = split
210 if config.DATA.DATASET == 'imagenet' or config.DATA.DATASET == 'imagenet-real':
211 if prefix == 'train' and not config.EVAL_MODE:
212 root = os.path.join(config.DATA.DATA_PATH, 'train')
213 dataset = ImageCephDataset(root, 'train',
214 transform=transform,
215 on_memory=config.DATA.IMG_ON_MEMORY)
216 elif prefix == 'val':
217 root = os.path.join(config.DATA.DATA_PATH, 'val')
218 dataset = ImageCephDataset(root, 'val', transform=transform)
219 nb_classes = 1000
220 elif config.DATA.DATASET == 'imagenet22K':
221 if prefix == 'train':
222 if not config.EVAL_MODE:
223 root = config.DATA.DATA_PATH
224 dataset = ImageCephDataset(root, 'train',
225 transform=transform,
226 on_memory=config.DATA.IMG_ON_MEMORY)
227 nb_classes = 21841
228 elif prefix == 'val':
229 root = os.path.join(config.DATA.DATA_PATH, 'val')
230 dataset = ImageCephDataset(root, 'val', transform=transform)
231 nb_classes = 1000
232 elif config.DATA.DATASET == 'imagenetv2':
233 from .imagenetv2 import ImageNetV2Dataset
234 if prefix == 'train' and not config.EVAL_MODE:
235 print(f'Only test split available for {config.DATA.DATASET}')
236 else:
237 dataset = ImageNetV2Dataset(variant='matched-frequency',
238 transform=transform,
239 location=config.DATA.DATA_PATH)
240 nb_classes = 1000
241 elif config.DATA.DATASET == 'imagenet_sketch':
242 if prefix == 'train' and not config.EVAL_MODE:
243 print(f'Only test split available for {config.DATA.DATASET}')
244 else:
245 dataset = ImageFolder(root=config.DATA.DATA_PATH, transform=transform)
246 nb_classes = 1000
247 elif config.DATA.DATASET == 'imagenet_a':
248 if prefix == 'train' and not config.EVAL_MODE:
249 print(f'Only test split available for {config.DATA.DATASET}')
250 else:
251 dataset = ImageFolder(root=config.DATA.DATA_PATH, transform=transform)
252 nb_classes = 1000 # actual number of classes is 200
253 elif config.DATA.DATASET == 'imagenet_r':
254 if prefix == 'train' and not config.EVAL_MODE:
255 print(f'Only test split available for {config.DATA.DATASET}')
256 else:

Callers 2

build_loaderFunction · 0.70
build_loader2Function · 0.70

Calls 4

ImageCephDatasetClass · 0.85
build_transformFunction · 0.70
ImageNetV2DatasetClass · 0.70

Tested by

no test coverage detected