gpt4 book ai didi

python - 使用 ImageFolder 加载除转换后的图像之外的原始图像

转载 作者:行者123 更新时间:2023-12-01 00:51:51 25 4
gpt4 key购买 nike

我正在尝试训练 GAN 来对图像进行着色。为此,我使用 torchvisionImageFolder 来加载灰度图像,但我还需要原始数据以及转换后的数据。

由于数据很大,我希望以最快的方式得到它。我想让 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..

最佳答案

我假设您有 2 个数据集变量,即 dataset_bwdataset_color,您可以按照您提到的使用 ImageFolder 加载它们。然后你可以执行以下操作:

class GAN_dataset(Dataset):
def __init__(self, dataset_bw, dataset_color):
self.dataset1 = dataset_bw
self.dataset2 = dataset_color

def __getitem__(self, index):
x1 = self.dataset1[index]
x2 = self.dataset2[index]

return x1, x2

def __len__(self):
return len(self.dataset1)

dataset = GAN_dataset(dataset_bw, dataset_color)
loader = DataLoader(dataset, batch_size = ...)

这样,当您迭代 loader 时,您将根据需要获得两个图像。

关于python - 使用 ImageFolder 加载除转换后的图像之外的原始图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56513117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com