Как подготовить мой собственный набор данных и использовать его с помощью pytorch или tenorflow? - PullRequest
0 голосов
/ 09 января 2019

На самом деле, что я пытаюсь сделать, так это то, что у меня есть небольшие данные изображений, около 80 фотографий, и я хочу подготовить их правильно, поэтому я не уверен в правильности или неправильности шагов.

class MyCustomDataset(Dataset):
     def __init__(self,path,transform=None):
        self.transformations = transforms.Compose([transforms.Normalize((.5, .5, .5), (.5, .5, .5)), 
                                transforms.ToTensor()])
        self.name=os.listdir(path)
        self.count=np.size(self.name)
        self.transform = transform
        self.to_tensor = transforms.ToTensor()
        #transforms.CenterCrop(100),
     def __getitem__(self, index):

         label=self.name[index]


         im3 = Image.open(path2 + '//' + label)

         imge=self.to_tensor(im3)
         if self.transform is not None:
             imge = self.transform(imge)
         return (imge, label)

     def __len__(self):
         return self.count   # of how many data(images?) you have

if __name__ == '__main__':
    # Call the dataset

path=path2
custom_dataset = MyCustomDataset(path)#.(Dataset).__init__(path)
data_loader = torch.utils.data.DataLoader(custom_dataset, batch_size=100, shuffle=True)
num_batches = len(data_loader)

1 Ответ

0 голосов
/ 09 января 2019

У вас есть два transforms.ToTensor() в вашей реализации. Вам нужен только один. Обратите внимание, что некоторые преобразования работают с PIL.Image объектами, а другие - с тензорами. См. torchvision.transforms, который есть какой.

...