| from .AFHQ_dataset import get_afhq_dataset | |
| from .CelebA_HQ_dataset import get_celeba_dataset | |
| from .LSUN_dataset import get_lsun_dataset | |
| from torch.utils.data import DataLoader | |
| from .IMAGENET_dataset import get_imagenet_dataset | |
| def get_dataset(dataset_type, dataset_paths, config, target_class_num=None, gender=None): | |
| if dataset_type == 'AFHQ': | |
| train_dataset, test_dataset = get_afhq_dataset(dataset_paths['AFHQ'], config) | |
| elif dataset_type == "LSUN": | |
| train_dataset, test_dataset = get_lsun_dataset(dataset_paths['LSUN'], config) | |
| elif dataset_type == "CelebA_HQ": | |
| train_dataset, test_dataset = get_celeba_dataset(dataset_paths['CelebA_HQ'], config) | |
| elif dataset_type == "IMAGENET": | |
| train_dataset, test_dataset = get_imagenet_dataset(dataset_paths['IMAGENET'], config, class_num=target_class_num) | |
| else: | |
| raise ValueError | |
| return train_dataset, test_dataset | |
| def get_dataloader(train_dataset, test_dataset, bs_train=1, num_workers=0): | |
| train_loader = DataLoader( | |
| train_dataset, | |
| batch_size=bs_train, | |
| drop_last=True, | |
| shuffle=True, | |
| sampler=None, | |
| num_workers=num_workers, | |
| pin_memory=True, | |
| ) | |
| test_loader = DataLoader( | |
| test_dataset, | |
| batch_size=1, | |
| drop_last=True, | |
| sampler=None, | |
| shuffle=True, | |
| num_workers=num_workers, | |
| pin_memory=True, | |
| ) | |
| return {'train': train_loader, 'test': test_loader} | |