def test_exception(self): trans = transforms.Compose([transforms.Resize(-1)]) trans_batch = transforms.Compose([transforms.Resize(-1)]) with self.assertRaises(Exception): self.do_transform(trans) with self.assertRaises(Exception): self.do_transform(trans_batch) with self.assertRaises(ValueError): transforms.Pad([1.0, 2.0, 3.0]) with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, '1') with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, 1, {}) with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, 1, padding_mode=-1) with self.assertRaises(ValueError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, [1.0, 2.0, 3.0]) with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, '1') with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, 1, {}) with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, 1, padding_mode=-1) with self.assertRaises(ValueError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, [1.0, 2.0, 3.0]) with self.assertRaises(ValueError): transforms.RandomRotation(-2) with self.assertRaises(ValueError): transforms.RandomRotation([1, 2, 3]) with self.assertRaises(ValueError): trans_gray = transforms.Grayscale(5) fake_img = self.create_image((100, 120, 3)) trans_gray(fake_img) with self.assertRaises(TypeError): transform = transforms.RandomResizedCrop(64) transform(1)
def test_trans_resize(self): trans = transforms.Compose([ transforms.Resize(300), transforms.RandomResizedCrop((280, 280)), transforms.Resize(280), transforms.Resize((256, 200)), transforms.Resize((180, 160)), transforms.CenterCrop(128), transforms.CenterCrop((128, 128)), ]) self.do_transform(trans)
def test_exception(self): trans = transforms.Compose([transforms.Resize(-1)]) trans_batch = transforms.BatchCompose([transforms.Resize(-1)]) with self.assertRaises(Exception): self.do_transform(trans) with self.assertRaises(Exception): self.do_transform(trans_batch) with self.assertRaises(ValueError): transforms.ContrastTransform(-1.0) with self.assertRaises(ValueError): transforms.SaturationTransform(-1.0), with self.assertRaises(ValueError): transforms.HueTransform(-1.0) with self.assertRaises(ValueError): transforms.BrightnessTransform(-1.0) with self.assertRaises(ValueError): transforms.Pad([1.0, 2.0, 3.0]) with self.assertRaises(TypeError): fake_img = np.random.rand(100, 120, 3).astype('float32') F.pad(fake_img, '1') with self.assertRaises(TypeError): fake_img = np.random.rand(100, 120, 3).astype('float32') F.pad(fake_img, 1, {}) with self.assertRaises(TypeError): fake_img = np.random.rand(100, 120, 3).astype('float32') F.pad(fake_img, 1, padding_mode=-1) with self.assertRaises(ValueError): fake_img = np.random.rand(100, 120, 3).astype('float32') F.pad(fake_img, [1.0, 2.0, 3.0]) with self.assertRaises(ValueError): transforms.RandomRotate(-2) with self.assertRaises(ValueError): transforms.RandomRotate([1, 2, 3]) with self.assertRaises(ValueError): trans_gray = transforms.Grayscale(5) fake_img = np.random.rand(100, 120, 3).astype('float32') trans_gray(fake_img)
def build_model(self): """ DataLoader """ pad = int(30 * self.img_size // 256) train_transform = T.Compose([ T.RandomHorizontalFlip(), T.Resize((self.img_size + pad, self.img_size + pad)), T.RandomCrop(self.img_size), T.ToTensor(), T.Normalize(mean=0.5, std=0.5), ]) test_transform = T.Compose([ T.Resize((self.img_size, self.img_size)), T.ToTensor(), T.Normalize(mean=0.5, std=0.5) ]) self.trainA = ImageFolder('dataset/photo2cartoon/trainA', self.img_size, train_transform) self.trainB = ImageFolder('dataset/photo2cartoon/trainB', self.img_size, train_transform) self.testA = ImageFolder('dataset/photo2cartoon/testA', self.img_size, test_transform) self.testB = ImageFolder('dataset/photo2cartoon/testB', self.img_size, test_transform) self.trainA_loader = DataLoader(self.trainA, batch_size=self.batch_size, shuffle=True) self.trainB_loader = DataLoader(self.trainB, batch_size=self.batch_size, shuffle=True) self.testA_loader = DataLoader(self.testA, batch_size=1, shuffle=False) self.testB_loader = DataLoader(self.testB, batch_size=1, shuffle=False) """ Define Generator, Discriminator """ self.genA2B = ResnetGenerator(ngf=self.ch, img_size=self.img_size, light=self.light) self.genB2A = ResnetGenerator(ngf=self.ch, img_size=self.img_size, light=self.light) self.disGA = Discriminator(input_nc=3, ndf=self.ch, n_layers=7) self.disGB = Discriminator(input_nc=3, ndf=self.ch, n_layers=7) self.disLA = Discriminator(input_nc=3, ndf=self.ch, n_layers=5) self.disLB = Discriminator(input_nc=3, ndf=self.ch, n_layers=5) """ Define Loss """ self.L1_loss = nn.loss.L1Loss() self.MSE_loss = nn.loss.MSELoss() self.BCE_loss = nn.loss.BCEWithLogitsLoss() self.G_optim = paddle.optimizer.Adam( learning_rate=self.lr, beta1=0.5, beta2=0.999, weight_decay=0.0001, parameters=self.genA2B.parameters()+self.genB2A.parameters() ) self.D_optim = paddle.optimizer.Adam( learning_rate=self.lr, beta1=0.5, beta2=0.999, weight_decay=0.0001, parameters=self.disGA.parameters()+self.disGB.parameters()+self.disLA.parameters()+self.disLB.parameters() ) self.Rho_clipper = RhoClipper(0, self.rho_clipper) self.W_clipper = WClipper(0, self.w_clipper)
def __init__(self, path, mode='train', image_size=224, resize_short_size=256): super(ImageNetDataset, self).__init__(path) self.mode = mode self.samples = [] list_file = "train_list.txt" if self.mode == "train" else "val_list.txt" with open(os.path.join([path, list_file]), 'r') as f: for line in f: _image, _label = line.strip().split(" ") self.samples.append((_image, int(_label))) normalize = transforms.Normalize(mean=[123.675, 116.28, 103.53], std=[58.395, 57.120, 57.375]) if self.mode == 'train': self.transform = transforms.Compose([ transforms.RandomResizedCrop(image_size), transforms.RandomHorizontalFlip(), transforms.Transpose(), normalize ]) else: self.transform = transforms.Compose([ transforms.Resize(resize_short_size), transforms.CenterCrop(image_size), transforms.Transpose(), normalize ])
def load_image(image_path, max_size=400, shape=None): image = cv2.imread(image_path) image = image.astype('float32') / 255.0 size = shape if shape is not None else max_size if max( image.shape[:2]) > max_size else max(image.shape[:2]) transform = transforms.Compose([ transforms.Resize(size), transforms.Permute(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) image = transform(image)[np.newaxis, :3, :, :] image = paddle.to_tensor(image) return image
def __init__(self, data_dir, mode='train', image_size=224, resize_short_size=256): super(ImageNetDataset, self).__init__() train_file_list = os.path.join(data_dir, 'train_list.txt') val_file_list = os.path.join(data_dir, 'val_list.txt') test_file_list = os.path.join(data_dir, 'test_list.txt') self.data_dir = data_dir self.mode = mode normalize = transforms.Normalize( mean=[123.675, 116.28, 103.53], std=[58.395, 57.120, 57.375]) if self.mode == 'train': self.transform = transforms.Compose([ transforms.RandomResizedCrop(image_size), transforms.RandomHorizontalFlip(), transforms.Transpose(), normalize ]) else: self.transform = transforms.Compose([ transforms.Resize(resize_short_size), transforms.CenterCrop(image_size), transforms.Transpose(), normalize ]) if mode == 'train': with open(train_file_list) as flist: full_lines = [line.strip() for line in flist] np.random.shuffle(full_lines) if os.getenv('PADDLE_TRAINING_ROLE'): # distributed mode if the env var `PADDLE_TRAINING_ROLE` exits trainer_id = int(os.getenv("PADDLE_TRAINER_ID", "0")) trainer_count = int(os.getenv("PADDLE_TRAINERS_NUM", "1")) per_node_lines = len(full_lines) // trainer_count lines = full_lines[trainer_id * per_node_lines:( trainer_id + 1) * per_node_lines] print( "read images from %d, length: %d, lines length: %d, total: %d" % (trainer_id * per_node_lines, per_node_lines, len(lines), len(full_lines))) else: lines = full_lines self.data = [line.split() for line in lines] else: with open(val_file_list) as flist: lines = [line.strip() for line in flist] self.data = [line.split() for line in lines]
def load_image(image_path, max_size=400, shape=None): image = Image.open(image_path).convert('RGB') size = shape if shape is not None else max_size if max( image.size) > max_size else max(image.size) transform = transforms.Compose([ transforms.Resize(size), transforms.Transpose(), transforms.Normalize([123.675, 116.28, 103.53], [58.395, 57.120, 57.375]) ]) image = transform(image)[np.newaxis, :3, :, :] image = paddle.to_tensor(image) return image
def __init__(self, data_dir, image_size=224, resize_short_size=256): super(ImageNetValDataset, self).__init__() val_file_list = os.path.join(data_dir, 'val_list.txt') test_file_list = os.path.join(data_dir, 'test_list.txt') self.data_dir = data_dir normalize = transforms.Normalize(mean=[123.675, 116.28, 103.53], std=[58.395, 57.120, 57.375]) self.transform = transforms.Compose([ transforms.Resize(resize_short_size), transforms.CenterCrop(image_size), transforms.Transpose(), normalize ]) with open(val_file_list) as flist: lines = [line.strip() for line in flist] self.data = [line.split() for line in lines]
def __init__(self, path, mode='train', image_size=224, resize_short_size=256): super(ImageNetDataset, self).__init__(path) self.mode = mode normalize = transforms.Normalize(mean=[123.675, 116.28, 103.53], std=[58.395, 57.120, 57.375]) if self.mode == 'train': self.transform = transforms.Compose([ transforms.RandomResizedCrop(image_size), transforms.RandomHorizontalFlip(), transforms.Transpose(), normalize ]) else: self.transform = transforms.Compose([ transforms.Resize(resize_short_size), transforms.CenterCrop(image_size), transforms.Transpose(), normalize ])
return train_image, 0 def __len__(self): return len(self.img_names) if __name__ == '__main__': from paddle.vision.transforms import transforms as T from paddle.io import DataLoader img_size = 256 pad = 30 train_transform = T.Compose([ T.RandomHorizontalFlip(), T.Resize((img_size + pad, img_size + pad)), T.RandomCrop(img_size), T.ToTensor(), T.Normalize(mean=0.5, std=0.5) ]) dataloader = ImageFolder('dataset/photo2cartoon/trainB', transform=train_transform) train_loader = DataLoader(dataloader, batch_size=1, shuffle=True) print('num: ', len(train_loader)) for i in range(300): print(i) try: real_A, _ = next(trainA_iter) except:
def test_exception(self): trans = transforms.Compose([transforms.Resize(-1)]) trans_batch = transforms.Compose([transforms.Resize(-1)]) with self.assertRaises(Exception): self.do_transform(trans) with self.assertRaises(Exception): self.do_transform(trans_batch) with self.assertRaises(ValueError): transforms.Pad([1.0, 2.0, 3.0]) with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, '1') with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, 1, {}) with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, 1, padding_mode=-1) with self.assertRaises(ValueError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, [1.0, 2.0, 3.0]) with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, '1') with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, 1, {}) with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, 1, padding_mode=-1) with self.assertRaises(ValueError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, [1.0, 2.0, 3.0]) with self.assertRaises(ValueError): transforms.RandomAffine(-10) with self.assertRaises(ValueError): transforms.RandomAffine([-30, 60], translate=[2, 2]) with self.assertRaises(ValueError): transforms.RandomAffine(10, translate=[0.2, 0.2], scale=[-2, -1]), with self.assertRaises(ValueError): transforms.RandomAffine(10, translate=[0.2, 0.2], scale=[1, 2, 3]), with self.assertRaises(ValueError): transforms.RandomAffine(10, translate=[0.2, 0.2], scale=[0.5, 0.5], shear=[1, 2, 3]), with self.assertRaises(ValueError): transforms.RandomAffine(10, translate=[0.5, 0.3], scale=[0.7, 1.3], shear=[-10, 10, 0, 20, 40]) with self.assertRaises(ValueError): transforms.RandomRotation(-2) with self.assertRaises(ValueError): transforms.RandomRotation([1, 2, 3]) with self.assertRaises(ValueError): trans_gray = transforms.Grayscale(5) fake_img = self.create_image((100, 120, 3)) trans_gray(fake_img) with self.assertRaises(TypeError): transform = transforms.RandomResizedCrop(64) transform(1)
def test_info(self): str(transforms.Compose([transforms.Resize((224, 224))])) str(transforms.Compose([transforms.Resize((224, 224))]))
def test_exception(self): trans = transforms.Compose([transforms.Resize(-1)]) trans_batch = transforms.Compose([transforms.Resize(-1)]) with self.assertRaises(Exception): self.do_transform(trans) with self.assertRaises(Exception): self.do_transform(trans_batch) with self.assertRaises(ValueError): transforms.ContrastTransform(-1.0) with self.assertRaises(ValueError): transforms.SaturationTransform(-1.0), with self.assertRaises(ValueError): transforms.HueTransform(-1.0) with self.assertRaises(ValueError): transforms.BrightnessTransform(-1.0) with self.assertRaises(ValueError): transforms.Pad([1.0, 2.0, 3.0]) with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, '1') with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, 1, {}) with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, 1, padding_mode=-1) with self.assertRaises(ValueError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, [1.0, 2.0, 3.0]) with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, '1') with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, 1, {}) with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, 1, padding_mode=-1) with self.assertRaises(ValueError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, [1.0, 2.0, 3.0]) with self.assertRaises(ValueError): transforms.RandomAffine(-10) with self.assertRaises(ValueError): transforms.RandomAffine([-30, 60], translate=[2, 2]) with self.assertRaises(ValueError): transforms.RandomAffine(10, translate=[0.2, 0.2], scale=[1, 2, 3]), with self.assertRaises(ValueError): transforms.RandomAffine(10, translate=[0.2, 0.2], scale=[0.5, 0.5], shear=[1, 2, 3]), with self.assertRaises(ValueError): transforms.RandomAffine(10, translate=[0.5, 0.3], scale=[0.7, 1.3], shear=[-10, 10, 0, 20, 40]) with self.assertRaises(ValueError): transforms.RandomAffine(10, translate=[0.5, 0.3], scale=[0.7, 1.3], shear=[-10, 10, 20, 40], fill=114, center=(1, 2, 3)) with self.assertRaises(ValueError): transforms.RandomRotation(-2) with self.assertRaises(ValueError): transforms.RandomRotation([1, 2, 3]) with self.assertRaises(ValueError): trans_gray = transforms.Grayscale(5) fake_img = self.create_image((100, 120, 3)) trans_gray(fake_img) with self.assertRaises(TypeError): transform = transforms.RandomResizedCrop(64) transform(1) with self.assertRaises(ValueError): transform = transforms.BrightnessTransform([-0.1, -0.2]) with self.assertRaises(TypeError): transform = transforms.BrightnessTransform('0.1') with self.assertRaises(ValueError): transform = transforms.BrightnessTransform('0.1', keys=1) with self.assertRaises(NotImplementedError): transform = transforms.BrightnessTransform('0.1', keys='a') with self.assertRaises(Exception): transform = transforms.RandomErasing(scale=0.5) with self.assertRaises(Exception): transform = transforms.RandomErasing(ratio=0.8) with self.assertRaises(Exception): transform = transforms.RandomErasing(scale=(10, 0.4)) with self.assertRaises(Exception): transform = transforms.RandomErasing(ratio=(3.3, 0.3)) with self.assertRaises(Exception): transform = transforms.RandomErasing(prob=1.5) with self.assertRaises(Exception): transform = transforms.RandomErasing(value="0")
def test_exception(self): trans = transforms.Compose([transforms.Resize(-1)]) trans_batch = transforms.Compose([transforms.Resize(-1)]) with self.assertRaises(Exception): self.do_transform(trans) with self.assertRaises(Exception): self.do_transform(trans_batch) with self.assertRaises(ValueError): transforms.ContrastTransform(-1.0) with self.assertRaises(ValueError): transforms.SaturationTransform(-1.0), with self.assertRaises(ValueError): transforms.HueTransform(-1.0) with self.assertRaises(ValueError): transforms.BrightnessTransform(-1.0) with self.assertRaises(ValueError): transforms.Pad([1.0, 2.0, 3.0]) with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, '1') with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, 1, {}) with self.assertRaises(TypeError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, 1, padding_mode=-1) with self.assertRaises(ValueError): fake_img = self.create_image((100, 120, 3)) F.pad(fake_img, [1.0, 2.0, 3.0]) with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, '1') with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, 1, {}) with self.assertRaises(TypeError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, 1, padding_mode=-1) with self.assertRaises(ValueError): tensor_img = paddle.rand((3, 100, 100)) F.pad(tensor_img, [1.0, 2.0, 3.0]) with self.assertRaises(ValueError): transforms.RandomRotation(-2) with self.assertRaises(ValueError): transforms.RandomRotation([1, 2, 3]) with self.assertRaises(ValueError): trans_gray = transforms.Grayscale(5) fake_img = self.create_image((100, 120, 3)) trans_gray(fake_img) with self.assertRaises(TypeError): transform = transforms.RandomResizedCrop(64) transform(1) with self.assertRaises(ValueError): transform = transforms.BrightnessTransform([-0.1, -0.2]) with self.assertRaises(TypeError): transform = transforms.BrightnessTransform('0.1') with self.assertRaises(ValueError): transform = transforms.BrightnessTransform('0.1', keys=1) with self.assertRaises(NotImplementedError): transform = transforms.BrightnessTransform('0.1', keys='a')