Чтение нескольких изображений в качестве пользовательского набора данных для PyTorch?
Я хочу прочитать несколько изображений для main_image
установить и blur_image
задавать. Например, 5 основных изображений и 5 размытых изображений. Цель состоит в том, чтобы определить, какие значения для ядра в сверточном слое преобразуют основные изображения в размытые изображения. Предполагается, что одно и то же ядро используется для размытия каждого из 5 исходных изображений для получения 5 размытых изображений.
Мой код доступен по адресу: https://pastebin.com/PWf7rjd4 и https://pastebin.com/VxryDb7g
Однако кажется, что он обрабатывает только первое изображение, то есть "1.png" для основного и размытого изображений. Это не обработка изображений 2.png, 3.png, 4.png и 5.png
Как я могу это исправить?
1 ответ
В вашем классе BlurDataset
вы возвращаете только одно изображение в __getitem__
метод. В вашем основном методе вы называете
for batch_idx, (main, blur) in enumerate(train_loader)
torch.utils.data.Dataset
класс, который вы наследуете от того, что вызывает __getitem__
с индексом, заданным перечислять. Это даст вам одну пару картинок в каждой итерации цикла. Если вы хотите получить все 5 пар картинок в первой итерации, вы должны изменить __getitem__
способ зациклить изображения и вернуть их все.