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
我正在尝试在 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