def __init__(self, dir, txt_file): super(Celeb, self).__init__(dir) self.transform = transforms.Compose([ transforms.RandomCrop((178, 178)), transforms.Resize(128), transforms.toTensor() ]) self.dir = dir self.labels = {} with open(txt_file) as f: lines = f.readlines() for line in lines: name, label = line.split("\t") self.labels[name] = eval(label)
def __init__(self, data_dir): self.data_dir = data_dir self.label_dict = read_train(self.data_dir) self.data = [] self.label = [] for key in self.label_dict.keys(): img_path = list( paths.list_images(os.join(self.data_dir, key) + '/')) for ip in img_path: self.data.append(ip) self.label.append(label_dict[key]) self.transform = transforms.Compose([ transforms.Resize(224), transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomRotation(45), transforms.toTensor() ])
def get_views(self, synset_id, model_id): """ Retrieves multiple RGB views for a single object. Arguments: synset_id (string): eight-digit zero-padded code corresponding to class label for an object model_id (string): longer name consisting of alphanumeric characters [0-9, a-f] Example: synset_id = '02691156' model_id = '10155655850468db78d106ce0a280f87' return: list of all view images for each object in torch.Tensor format """ all_views = [] toTensor = transforms.toTensor() for path in Path(os.path.join(self.root_dir, synset_id, model_id)).glob('**/*.jpg'): img = toTensor(Image.open(path)) all_views.append(img) return all_views
import torch import torchvision import torchvision.transforms as T #------------------------------------------------------------------------------------------------------------------------------------------ #STEP1: Loading dataset with suitable transforms #general transformation to be applied to all images transform=T.compose([T.toTensor(),T.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))]) #Get the training dataset apply the transforms and apply load it in a variable with appt. batch size shuffling etc. trainset=torchvision.datasets.CIFAR10(root='./data',train=True,download=True,transform=transform) trainloader=torch.utils.data.DataLoader(trainset,batch_size = 4,shuffle=True, num_workers=2) #Get the training dataset apply the transforms and apply load it in a variable with appt. batch size shuffling etc. testset=torchvision.datasets.CIFAR10(root='./data',train=False,download=True,transofrm=transform) testloader=torch.utils.data.Dataloader(testset,shuffle=True,batch_size=4,num_workers=2) classes=('plane' , 'car', 'bird' , 'cat', 'deer','dog', 'frog', 'horse', 'ship' , 'truck') #------------------------------------------------------------------------------------------------------------------------------------------ #STEP2:Displaying Training Images
def __init__(self, size, interpolation=Image.BILINEAR): self.size = size self.interpolation = interpolation self.toTensor = transforms.toTensor()
category_size = 10 # one-hot vector temperature_min = 0.5 ANNEAL_RATE = 0.00003 opt = parser.parse_args() device = torch.device(opt.device) model = GumbelVAE(784, latent_size, category_size, device) optimizer = optim.Adam(model.parameters(), lr=0.001) kwargs = {'num_workers': 2, 'pin_memory': True} train_loader = torch.utils.data.DataLoader(datasets.MNIST( './data', trian=True, download=True, transform=transforms.toTensor()), batch_size=opt.batch_size, shuffle=True, **kwargs) test_loader = torch.utils.data.DataLoader(datasets.MNIST( './data', train=False, transform=transforms.toTensor()), batch_size=opt.batch_size, shuffle=True, **kwargs) # reconstruction + KL divergence losses summed over all elements and batch def loss_function(recon_output, input, encode_output): BCE = F.binary_cross_entropy(recon_output, input.view(-1, 784),