1 python pytorch data-augmentation albumentations image-classification
我正在使用 pytorch 使用github中的代码进行图像分类。我需要在训练我的模型之前添加数据增强,我选择了albumentation来执行此操作。这是我添加专辑时的代码:
data_transform = {
"train": A.Compose([
A.RandomResizedCrop(224,224),
A.HorizontalFlip(p=0.5),
A.RandomGamma(gamma_limit=(80, 120), eps=None, always_apply=False, p=0.5),
A.RandomBrightnessContrast (p=0.5),
A.CLAHE(clip_limit=4.0, tile_grid_size=(8, 8), always_apply=False, p=0.5),
A.ShiftScaleRotate(shift_limit=0.05, scale_limit=0.05, rotate_limit=15, p=0.5),
A.RGBShift(r_shift_limit=15, g_shift_limit=15, b_shift_limit=15, p=0.5),
A.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
ToTensorV2(),]),
"val": A.Compose([
A.Resize(256,256),
A.CenterCrop(224,224),
A.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
ToTensorV2()])}
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
KeyError:在 DataLoader 工作进程 0 中捕获 KeyError。
KeyError:“您必须将数据作为命名参数传递给增强,例如:aug(image=image)”
此 Albumentations 函数采用位置参数“image”并返回一个字典。这是使用它的示例:
transforms = A.Compose([
A.augmentations.geometric.rotate.Rotate(limit=15,p=0.5),
A.Perspective(scale=[0,0.1],keep_size=False,fit_output=False,p=1),
A.Resize(224, 224),
A.HorizontalFlip(p=0.5),
A.GaussNoise(var_limit=(10.0, 50.0), mean=0),
A.RandomToneCurve(scale=0.5,p=1),
A.Normalize(mean=[0.5, 0.5, 0.5],std=[0.225, 0.225, 0.225]),
ToTensorV2()
])
img = cv2.imread("dog.png")
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
transformed_img = transforms(image=img)["image"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7771 次 |
| 最近记录: |