전처리에서 필요한 평균(mean), 표준편차(std) 등에 대한 변수 값을 정의합니다.
코드 6-26 변수에 대한 값 정의
size = 256 ------ AlexNet은 깊이가 깊은 네트워크를 사용하므로 이미지 크기가 256이 아니면 풀링층 때문에 크기가 계속 줄어들어 오류가 발생할 수 있습니다.
mean = (0.485, 0.456, 0.406)
std = (0.229, 0.224, 0.225)
batch_size = 32
훈련과 검증 용도의 데이터셋을 정의합니다. 앞에서 정의한 DogvsCatDataset() 클래스에 훈련, 검증, 테스트 데이터를 적용하되 전처리도 함께 적용하도록 합니다.
코드 6-27 훈련, 검증, 테스트 데이터셋 정의
train_dataset = DogvsCatDataset(train_images_filepaths, transform=ImageTransform(size, mean, std), phase='train')
val_dataset = DogvsCatDataset(val_images_filepaths, transform=ImageTransform(size, mean, std), phase='val')
test_dataset = DogvsCatDataset(val_images_filepaths, transform=ImageTransform(size, mean, std), phase='val')
index = 0
print(train_dataset.__getitem__(index)[0].size())
print(train_dataset.__getitem__(index)[1])