def load_data_transformers(resize_reso=512, crop_reso=448, swap_num=[7, 7]): center_resize = 600 Normalize = transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) data_transforms = { 'swap': transforms.Compose([ transforms.Randomswap((swap_num[0], swap_num[1])), ]), 'common_aug': transforms.Compose([ transforms.Resize((resize_reso, resize_reso)), transforms.RandomRotation(degrees=15), transforms.RandomCrop((crop_reso,crop_reso)), transforms.RandomHorizontalFlip(), ]), 'train_totensor': transforms.Compose([ transforms.Resize((crop_reso, crop_reso)), # ImageNetPolicy(), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), ]), 'val_totensor': transforms.Compose([ transforms.Resize((crop_reso, crop_reso)), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), ]), 'test_totensor': transforms.Compose([ transforms.Resize((resize_reso, resize_reso)), transforms.CenterCrop((crop_reso, crop_reso)), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), ]), 'None': None, } return data_transforms
def _train_image_transform(self): transform = transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(224), transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomRotation(0.2), transforms.ColorJitter(0.1, 0, 0, 0), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) return transform
def load_transforms(args, random_chance=1): # s determins random offset factor. If random_chance==0 (e.g. during testing), then we want no random offset. if random_chance == 0: s = 0 else: s = 1 transforms = tfs.ComposeMRI([ tfs.LoadNifti(), tfs.RandomScaling(scale_range=[.95, 1.05]), #.95,1.05 tfs.RandomRotation(angle_interval=[-10, 10], rotation_axis=None), #-10,10 tfs.ApplyAffine(so=2, chance=random_chance), tfs.Gamma(gamma_range=[.9, 1.1], chance=random_chance), #.9,1.1 tfs.ReturnImageData(), tfs.Crop(dims=args['img_dim'], offset=[0, -0, 0], rand_offset=5 * s), tfs.ReduceSlices(2, 2), tfs.PrcCap(), tfs.UnitInterval(), tfs.ToTensor(), ]) return transforms
def load_data_transformers(resize_reso=512, crop_reso=448, swap_num=[7, 7]): center_resize = 600 Normalize = transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) data_transforms = { 'swap': transforms.Compose([ transforms.Resize((resize_reso, resize_reso)), transforms.RandomRotation(degrees=15), transforms.RandomCrop((crop_reso, crop_reso)), transforms.RandomHorizontalFlip(), transforms.Randomswap((swap_num[0], swap_num[1])), ]), 'food_swap': transforms.Compose([ transforms.Resize((resize_reso, resize_reso)), transforms.RandomRotation(degrees=90), #transforms.RandomCrop((crop_reso, crop_reso)), transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomResizedCrop(size=crop_reso, scale=(0.75, 1)), transforms.Randomswap((swap_num[0], swap_num[1])), ]), 'food_unswap': transforms.Compose([ transforms.Resize((resize_reso, resize_reso)), transforms.RandomRotation(degrees=90), #transforms.RandomCrop((crop_reso, crop_reso)), transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomResizedCrop(size=crop_reso, scale=(0.75, 1)), ]), 'unswap': transforms.Compose([ transforms.Resize((resize_reso, resize_reso)), transforms.RandomRotation(degrees=15), transforms.RandomCrop((crop_reso, crop_reso)), transforms.RandomHorizontalFlip(), ]), 'train_totensor': transforms.Compose([ transforms.Resize((crop_reso, crop_reso)), #ImageNetPolicy(), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), ]), 'val_totensor': transforms.Compose([ transforms.Resize((crop_reso, crop_reso)), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), ]), 'test_totensor': transforms.Compose([ transforms.Resize((resize_reso, resize_reso)), transforms.CenterCrop((crop_reso, crop_reso)), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), ]), 'None': None, 'Centered_swap': transforms.Compose([ transforms.CenterCrop((center_resize, center_resize)), transforms.Resize((resize_reso, resize_reso)), transforms.RandomRotation(degrees=15), transforms.RandomCrop((crop_reso, crop_reso)), transforms.RandomHorizontalFlip(), transforms.Randomswap((swap_num[0], swap_num[1])), ]), 'Centered_unswap': transforms.Compose([ transforms.CenterCrop((center_resize, center_resize)), transforms.Resize((resize_reso, resize_reso)), transforms.RandomRotation(degrees=15), transforms.RandomCrop((crop_reso, crop_reso)), transforms.RandomHorizontalFlip(), ]), 'Tencrop': transforms.Compose([ transforms.Resize((resize_reso, resize_reso)), transforms.TenCrop((crop_reso, crop_reso)), transforms.Lambda(lambda crops: torch.stack( [transforms.ToTensor()(crop) for crop in crops])), ]) } return data_transforms
net = ACCNN(n_classes=n_classes, pre_trained=True, dataset=dataset, fold=fold, virtualize=True, using_fl=fl).to(DEVICE) print("------------%s Model Already be Prepared------------" % net_name) input_img_size = net.input_size IMG_MEAN = [0.449] IMG_STD = [0.226] transform_train = transforms.Compose([ transforms.Resize( input_img_size ), # 缩放将图片的最小边缩放为 input_img_size,因此如果输入是非正方形的,那么输出也不是正方形的 transforms.RandomHorizontalFlip(), transforms.RandomRotation(30), transforms.ToTensor(), transforms.Normalize(IMG_MEAN, IMG_STD), ]) transform_test = transforms.Compose([ transforms.Resize( input_img_size ), # 缩放将图片的最小边缩放为 input_img_size,因此如果输入是非正方形的,那么输出也不是正方形的 transforms.ToTensor(), transforms.Normalize(IMG_MEAN, IMG_STD), ]) print("------------Preparing Data...----------------") if dataset == "JAFFE": test_data = JAFFE(is_train=False, transform=transform_test, target_type=target_type,
numimage = 6667 print('Dataset:', cfg['dataset']) print('train images:', train_pd.shape) print('test images:', test_pd.shape) print('num classes:', cfg['numcls']) print('Set transform') cfg['swap_num'] = 7 data_transforms = { 'swap': transforms.Compose([ transforms.Resize((512, 512)), transforms.RandomRotation(degrees=15), transforms.RandomCrop((448, 448)), transforms.RandomHorizontalFlip(), transforms.Randomswap((cfg['swap_num'], cfg['swap_num'])), ]), 'unswap': transforms.Compose([ transforms.Resize((512, 512)), transforms.RandomRotation(degrees=15), transforms.RandomCrop((448, 448)), transforms.RandomHorizontalFlip(), ]), 'totensor': transforms.Compose([ transforms.Resize((448, 448)), transforms.ToTensor(),
# Load image dataset = SLAM('data/SLAM') data, target = dataset[1] # Add grid lines (https://stackoverflow.com/a/20473192/5828163) dx, dy = 80, 80 data[:, ::dy, :] = [0, 0, 0, 0] data[::dx, :, :] = [0, 0, 0, 0] target[:, ::dy] = 1 target[::dx, :] = 1 # Plot transformations plot_data_target(data, target, 'Original') transform_list = [ transforms.RandomHorizontalFlip(p=1), transforms.RandomVerticalFlip(p=1), transforms.MinMaxScaling(), transforms.RandomElasticDeformation(alpha=200, sigma=10, alpha_affine=40), transforms.Pad(92, padding_mode='reflect'), transforms.RandomRotation(180), transforms.RandomCrop(572, 388), transforms.ToTensor(), ] for transform in transform_list: data, target = transform(data, target) plot_data_target(data, target, transform.__class__.__name__)
IMG_STD = [0.226] # for RGB images # IMG_MEAN = [0.485, 0.456, 0.406] # IMG_STD = [0.229, 0.224, 0.225] crop_img_size = int(net.input_size * 1.2) input_img_size = net.input_size transform_using_crop = opt.tr_using_crop if transform_using_crop: transform_train = transforms.Compose([ transforms.Resize(crop_img_size), transforms.TenCrop(input_img_size), transforms.Lambda(lambda crops: torch.stack([ transforms.Normalize(IMG_MEAN, IMG_STD) (transforms.ToTensor()(transforms.RandomHorizontalFlip()( transforms.RandomRotation(30)(crop)))) for crop in crops ])), ]) transform_test = transforms.Compose([ transforms.Resize(crop_img_size), transforms.TenCrop(input_img_size), transforms.Lambda(lambda crops: torch.stack([ transforms.Normalize(IMG_MEAN, IMG_STD) (transforms.ToTensor()(crop)) for crop in crops ])), ]) else: transform_train = transforms.Compose([ transforms.Resize( input_img_size ), # 缩放将图片的最小边缩放为 input_img_size,因此如果输入是非正方形的,那么输出也不是正方形的