데이터 전처리에 대한 코드입니다. 앞에서 이미 살펴보았기 때문에 설명은 생략합니다.
코드 6-23 데이터 전처리
class ImageTransform():
def __init__(self, resize, mean, std):
self.data_transform = {
'train': transforms.Compose([
transforms.RandomResizedCrop(resize, scale=(0.5,1.0)),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(mean, std)
]),
'val': transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(resize),
transforms.ToTensor(),
transforms.Normalize(mean, std)
])
}
def __call__(self, img, phase):
return self.data_transform[phase](img)
이미지가 위치한 경로에서 데이터를 가져와 훈련, 검증, 테스트 용도로 분리합니다. 데이터가 위치한 경로에는 Cat과 Dog 폴더로 구성되어 있습니다.