torchvision CIFAR10 vs ImageFolder CIFAR10

잠만보 석사생·2022년 9월 24일
0

CIFAR10은 torchvision에서 기본적으로 불러올 수 있다.

trainset = torchvision.datasets.CIFAR10(
     root='/home/data/cifar10', train=True, download=True, transform=transform_train)
     
testset = torchvision.datasets.CIFAR10(
     root='/home/data/cifar10', train=False, download=True, transform=transform_test)
     
trainloader = torch.utils.data.DataLoader(
    trainset, batch_size=128, shuffle=True, num_workers=2)
    
testloader = torch.utils.data.DataLoader(
    testset, batch_size=100, shuffle=False, num_workers=2)

다만 CIFAR10은 기본적으로 shuffle이 들어간 상태라 test할때도 shuffle된 data가 나온다.
ImageFolder은 어떨까? ImageFolder은 보통 불러올때 path만 불러와주면 된다.

trainset = torchvision.datasets.ImageFolder(
    root='/home/data/cifar10/train', transform=transform_train)


위와 같이 순서가 되있고 안에 이미지들만 있으면, airplane:0, automobile:1, ... , truck:9 의 class를 부여받게 된다. 즉 test시 데이터로더에서 shuffle 을 False로 해놔도 torchvision CIFAR10으로 test data는 shuffle된 상태로 추론한다.

profile
생명공학을 전공했지만 AI에 관심있는 사람

0개의 댓글