data augmentation error in python: TypeError: pic should be PIL Image or ndarray. Got <class 'torch.Tensor'>

data augmentation error in python: TypeError: pic should be PIL Image or ndarray. Got <class 'torch.Tensor'>

我正在尝试在 python 中执行数据扩充,但出现错误。我的目标是在训练数据集(而不是测试)上应用扩充。为此,我有一个默认设置为 False 的标志(名为 augment = False)。对于 Train 数据集,我已将其设置为 'True'。路径“/content/data/img”包含“.jpg”格式的图像。请看代码:

谢谢。

我没看到你在使用 augument 参数。其次,如果您应用了变换,则不应应用 to_tensor_transform,因为您的变换已经将图像转换为张量。

class LesionDataset(Dataset):
 def __init__(self, img_dir, labels_fname, augment=False):
     
     self.img_dir = img_dir
     self.augument = augument
     self.labels_fname = pd.read_csv(labels_fname)
   
 def __len__(self):
       return len(self.labels_fname)

 def __getitem__(self, idx):
 
       image_id = self.labels_fname.iloc[idx,0]
       image = Image.open(os.path.join(self.img_dir, image_id +'.jpg')).convert("RGB")
       
       labels = self.labels_fname.drop(['image'], axis = 1)
       labels = np.array(labels)
       labels = np.argmax(labels, axis = 1)
       label = labels[idx]
       if self.augument:
           image = train_transforms(image)
       else:
           image = to_tensor_transform(image)
       return image, label