Я пытаюсь настроить GAN для раскрашивания изображений, чтобы я использовал ImageFolder torchvision для загрузки его в виде изображений в градациях серого, но мне также нужны исходные данные вместе с преобразованными.
Я хочу, чтобы это было как можно быстрее, поскольку данные велики, поэтому я хочу, чтобы ImageFolder загружал оба файла одновременно, чтобы сэкономить больше времени.
def load_data_bw(opt):
datapath = '/content/gdrive/My Drive/faces/2003'
dataset = torchvision.datasets.ImageFolder(datapath,
transform=transforms.Compose([
transforms.Grayscale(num_output_channels=3), #load images as grayscale with three channels
transforms.RandomChoice(
[transforms.Resize(opt['loadSize'], interpolation=1),
transforms.Resize(opt['loadSize'], interpolation=2),
transforms.Resize(opt['loadSize'], interpolation=3),
transforms.Resize((opt['loadSize'], opt['loadSize']),
interpolation=1),
transforms.Resize((opt['loadSize'], opt['loadSize']),
interpolation=2),
transforms.Resize((opt['loadSize'], opt['loadSize']),
interpolation=3)]
),
transforms.RandomChoice(
[transforms.RandomResizedCrop(opt['fineSize'], interpolation=1),
transforms.RandomResizedCrop(opt['fineSize'], interpolation=2),
transforms.RandomResizedCrop(opt['fineSize'], interpolation=3)]
),
transforms.ColorJitter(brightness=0.1, contrast=0.1),
transforms.RandomHorizontalFlip(),
transforms.ToTensor()
]))
return dataset
Я ожидаю получить:
for iteration, orig_data, gray_data in enumerate(training_data_loader, 1):
# code..