Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pytork从Dataloader加载两个图像_Python_Image Processing_Machine Learning_Pytorch - Fatal编程技术网

Python Pytork从Dataloader加载两个图像

Python Pytork从Dataloader加载两个图像,python,image-processing,machine-learning,pytorch,Python,Image Processing,Machine Learning,Pytorch,我正在尝试制作一个接受低分辨率图像的GAN,并尝试从中创建一个高分辨率图像。为此,我需要使用一个数据加载器,其中存储了高分辨率和低分辨率的训练图像 data_transform = transforms.Compose([transforms.Resize(imageSize), transforms.Grayscale(num_output_channels=1),

我正在尝试制作一个接受低分辨率图像的GAN,并尝试从中创建一个高分辨率图像。为此,我需要使用一个数据加载器,其中存储了高分辨率和低分辨率的训练图像

     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枚举和洗牌这两个图像?

假设高分辨率和低分辨率图像的名称相似,例如img01\u hi和img01\u low,一个选项是创建一个自定义数据加载器,通过重写u getitem\uu方法返回两个图像

由于两个图像都在一次调用中返回,您可以通过在文件名后添加_hi&_low来确保它们匹配

您可能需要创建一个包含所有图像文件名列表的提示文本文件,以确保每个图像文件只处理一次