Pytorch Загрузка двух изображений из Dataloader - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь создать GAN, который берет изображение в формате низкого разрешения и пытается создать из него изображение в высоком разрешении.Для этого мне нужно использовать Dataloader, в котором хранятся обучающие изображения с высоким и низким разрешением.

     data_transform = transforms.Compose([transforms.Resize(imageSize),
                                         transforms.Grayscale(num_output_channels=1),
                                         transforms.ToTensor()])

    dataset_hi = "./hi-res-train"
    dataset_lo = "./low-res-train"

    img_data_hi = dset.ImageFolder(root=dataset_hi,transform=data_transform)
    img_data_lo = dset.ImageFolder(root=dataset_lo,transform=data_transform)

    dataloader_hi = torch.utils.data.DataLoader(img_data_hi, batch_size = batchSize, shuffle = True, num_workers = 2) 
    dataloader_lo = torch.utils.data.DataLoader(img_data_lo, batch_size = batchSize, shuffle = True, num_workers = 2) 

Я пробовал использовать два отдельных загрузчика данных (показано выше), нокогда они тасуются, я не могу перечислить их, потому что изображения высокого и низкого разрешения не совпадают.Как я могу сделать так, чтобы я мог перечислять и перемешивать оба с pytorch?

1 Ответ

0 голосов
/ 30 ноября 2018

Если у вас есть похожие имена для изображений высокого и низкого разрешения (скажем, img01_hi & img01_low), один из вариантов - создать собственный загрузчик данных, который возвращает оба изображения с помощью переопределения метода __getitem__.

Поскольку оба изображенияЕсли вы вернулись за один вызов, вы можете убедиться, что они совпадают, добавив _hi & _low к имени файла.

Вам может потребоваться создать текстовый файл cue, содержащий список всех имен файлов изображений, чтобы убедиться, что выобработка каждого файла изображения только один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...