【发布时间】:2022-01-21 09:16:16
【问题描述】:
dir = './animefacedataset'
imagesize = 68
batchsize = 128
RGB_mean_std_minusonetoonerange = ((0.5, 0.5, 0,5), (0.5, 0.5, 0,5)) `*#same for (0.5, 0.5, 0,5), (0.5, 0.5, 0,5)*`
augmented_normalized_tensorized = T.Compose([T.Resize(imagesize),
T.CenterCrop(imagesize),
T.ToTensor(),
T.Normalize(*RGB_mean_std_minusonetoonerange)])
traindataset = ImageFolder(dir, augmented_normalized_tensorized)
**image, _ = traindataset[0]**
最后一行引发 valueerror:
/usr/local/lib/python3.7/dist-packages/torchvision/transforms/functional.py in normalize(tensor, mean, std, in place) 344 std = torch.as_tensor(std, dtype=dtype, device=tensor.device) 345 if (std == 0).any(): --> 346 raise ValueError('std evaluated to zero after conversion to {}, leading to division by zero.'.format(dtype)) 347 if mean.ndim == 1: 348 mean = mean.view(-1, 1, 1) ValueError: std evaluated to zero after conversion to torch.float32, leading to division by zero.
【问题讨论】:
-
我没有创建任何自定义数据集,如上所示,我只是使用了应该适用于 jpg 的 ImageFolder,pytorch 教程上的 GAN 示例使用 stats=((0.5, 0.5, 0.5),(0.5, 0.5 , 0.5)) 就像我做的那样,所以在这种情况下,我只是按照示例进行操作,并且在那部分中不做任何即兴创作。但它只是行不通。有谁知道如何修理它。或者我应该尝试创建自定义数据集而不是 TensorImage
标签: pytorch kaggle torchvision