더북(TheBook)

훈련과 검증 용도의 데이터셋을 정의합니다. 앞에서 정의한 DogvsCatDataset() 클래스를 이용하여 훈련과 검증 데이터셋을 준비하되 전처리도 함께 적용하도록 합니다.

코드 6-8 이미지 데이터셋 정의

train_dataset = DogvsCatDataset(train_images_filepaths, transform=ImageTransform(size, mean, std), phase='train') ------ 훈련 이미지에 train_transforms를 적용
val_dataset = DogvsCatDataset(val_images_filepaths, transform=ImageTransform(size,  mean, std), phase='val') ------ 검증 이미지에 test_transforms를 적용

index = 0
print(train_dataset.__getitem__(index)[0].size()) ------ 훈련 데이터(train_dataset.__getitem__[0][0])의 크기(size()) 출력
print(train_dataset.__getitem__(index)[1]) ------ 훈련 데이터의 레이블 출력

다음은 훈련 데이터의 크기와 레이블에 대한 출력 결과입니다. 데이터가 랜덤으로 섞여 있는 상태이기 때문에 책과 다른 결과가 나올 수 있습니다.

torch.Size([3, 224, 224])
1

이미지는 컬러 상태에서 224×224 크기를 가지며 레이블이 1로 출력되었습니다. 즉, 훈련 데이터셋의 레이블(train_dataset.__getitem__(index)[1])이 1 값을 갖기 때문에 ‘개’라는 이미지가 포함되어 있다는 것을 유추해 볼 수 있습니다.

전처리와 함께 데이터셋을 정의했기 때문에 이제 메모리로 불러와서 훈련을 위한 준비를 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.