Чтение нескольких изображений в качестве пользовательского набора данных для 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__ способ зациклить изображения и вернуть их все.

Другие вопросы по тегам