kunkunwoo@blog:~$ 거누권의 생각깜지

custom dataset사용방법 _ image의 경우

· 배운 것 · 3분 읽기

html

import os
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.autograd import Variable
import torchvision
from torch.utils.data import DataLoader, Dataset
import PIL.Image as Image
import matplotlib.pyplot as plt
import torchvision.transforms as transforms
import numpy as np
#custom
trans = transforms.Compose([transforms.Resize((100, 100)),
                           transforms.ToTensor(),
                           transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))])
trainset = torchvision.datasets.ImageFolder(root='./mydraw', transform=trans)
len(trainset)
36
trainloader = DataLoader(trainset, batch_size= 36, shuffle = False, num_workers = 2)
dataiter = iter(trainloader)
images, labels = dataiter.next()
def imshow(img):
    img = img/2 + 0.5
    np_img = img.numpy()
    plt.imshow(np.transpose(np_img, (1, 2, 0)))
    
    print(np_img.shape)
    print((np.transpose(np_img, (1,2,0))).shape)

classes = ('airplane', 'apple', 'book', 'bycicle', 'car', 'eye', 'glasses', 'smile', 'tree')
print(images.shape)
imshow(torchvision.utils.make_grid(images, nrow=4))
print(images.shape)
print((torchvision.utils.make_grid(images)).shape)
print(''.join('%s ' %classes[labels[j]] for j in range(36)))
torch.Size([36, 3, 100, 100])
(3, 920, 410)
(920, 410, 3)
torch.Size([36, 3, 100, 100])
torch.Size([3, 512, 818])
airplane airplane airplane apple apple apple apple apple apple apple apple apple book book book book book book bycicle car car car car eye eye glasses glasses glasses glasses smile smile tree tree tree tree tree