def cityPIL_randscalecrop(cached_data_file, data_dir, classes, batch_size, num_work=6, scale=(0.5, 2.0), size=(1024, 512), scale1=1, ignore_idx=255): print("This input size is " + str(size)) if not os.path.isfile(cached_data_file): dataLoad = ld.LoadData(data_dir, classes, cached_data_file) data = dataLoad.processData() if data is None: print('Error while pickling data. Please check.') exit(-1) else: data = pickle.load(open(cached_data_file, "rb")) if isinstance(size, tuple): size = size else: size = (size, size) if isinstance(scale, tuple): scale = scale else: scale = (scale, scale) train_transforms = pilTransforms.Compose([ pilTransforms.RandomScale(scale=scale), pilTransforms.RandomCrop(crop_size=size, ignore_idx=ignore_idx), pilTransforms.RandomFlip(), pilTransforms.Normalize(scaleIn=scale1) ]) val_transforms = pilTransforms.Compose( [pilTransforms.Resize(size=size), pilTransforms.Normalize(scaleIn=1)]) trainLoader = torch.utils.data.DataLoader(myDataLoader.PILDataset( data['trainIm'], data['trainAnnot'], Double=False, transform=train_transforms), batch_size=batch_size, shuffle=True, num_workers=num_work, pin_memory=True) valLoader = torch.utils.data.DataLoader(myDataLoader.PILDataset( data['valIm'], data['valAnnot'], Double=False, transform=val_transforms), batch_size=batch_size, shuffle=False, num_workers=num_work, pin_memory=True) return trainLoader, valLoader, data
def portraitPIL_Doublerandscalecrop(cached_data_file, data_dir, classes, batch_size, scale=(0.8, 1.0), size=(1024, 512), scale1=1, scale2=2, ignore_idx=255, edge=False, num_work=6, Augset=True): print("This input size is " + str(size)) if not os.path.isfile(cached_data_file): if Augset: additional_data = [] additional_data.append('/Nukki/baidu_V1/') additional_data.append('/Nukki/baidu_V2/') dataLoad = ld.LoadData(data_dir, classes, cached_data_file, additional=additional_data) data = dataLoad.processDataAug() else: dataLoad = ld.LoadData(data_dir, classes, cached_data_file) data = dataLoad.processData() if data is None: print('Error while pickling data. Please check.') exit(-1) else: data = pickle.load(open(cached_data_file, "rb")) if isinstance(size, tuple): size = size else: size = (size, size) if isinstance(scale, tuple): scale = scale else: scale = (scale, scale) train_transforms = pilTransforms.Compose([ # pilTransforms.data_aug_color(), pilTransforms.RandomScale(scale=scale), pilTransforms.RandomCrop(crop_size=size, ignore_idx=ignore_idx), pilTransforms.RandomFlip(), pilTransforms.DoubleNormalize(scale1=scale1, scale2=scale2) ]) val_transforms = pilTransforms.Compose([ pilTransforms.Resize(size=size), # pilTransforms.RandomScale(scale=scale), # pilTransforms.RandomCrop(crop_size=size, ignore_idx=ignore_idx), # pilTransforms.RandomFlip(), pilTransforms.DoubleNormalize(scale1=scale2, scale2=1) ]) trainLoader = torch.utils.data.DataLoader(myDataLoader.PILDataset( data['trainIm'], data['trainAnnot'], Double=True, ignore_idx=ignore_idx, edge=edge, transform=train_transforms), batch_size=batch_size, shuffle=True, num_workers=num_work, pin_memory=True) valLoader = torch.utils.data.DataLoader(myDataLoader.PILDataset( data['valIm'], data['valAnnot'], Double=True, ignore_idx=ignore_idx, edge=True, transform=val_transforms), batch_size=batch_size, shuffle=False, num_workers=num_work, pin_memory=True) return trainLoader, valLoader, data