Esempio n. 1
0
 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)
Esempio n. 2
0
    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()
        ])
Esempio n. 3
0
    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()
Esempio n. 6
0
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),