더북(TheBook)

어떤가요? 앞에서 수십 줄 넘게 구현한 코드가 의미 없다고 느껴지나요? 물론 향후에는 연습을 하든 연구를 하든 사전 훈련된 모델을 호출하여 사용하게 될 것입니다. 하지만 책에서는 VGG 모델의 네트워크를 어떻게 구현하고 사용하는지 방법을 알려 주고자 고생스럽지만 네트워크를 정의했던 것입니다. 이러한 수고를 통해 우리는 다음과 같이 My_Vgg 같은 새로운 config를 정의하여 사용할 수 있습니다.

vgg11_config = [64, 'M', 128, 'M', 256, 256, 'M', 512, 512, 'M', 512, 512, 'M'] 
vgg13_config = [64, 64, 'M', 128, 128, 'M', 256, 256, 'M', 512, 512, 'M', 512, 512, 'M'] 
vgg16_config = [64, 64, 'M', 128, 128, 'M', 256, 256, 256, 'M', 512, 512, 512, 'M', 512, 512, 512, 'M'] 
vgg19_config = [64, 64, 'M', 128, 128, 'M', 256, 256, 256, 256, 'M', 512, 512, 512, 512, 'M', 512, 512, 512, 512, 'M'] 
My_Vgg = [64, 64, 64, 'M', 128, 128, 128, 'M', 256, 256, 256, 'M']

이제 이미지에 대한 전처리 부분을 정의합니다.

코드 6-47 이미지 데이터 전처리

train_transforms = transforms.Compose([
                        transforms.Resize((256, 256)),
                        transforms.RandomRotation(5),
                        transforms.RandomHorizontalFlip(0.5),
                        transforms.ToTensor(),
                        transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229,  0.224, 0.225])]) ------ ①

test_transforms = transforms.Compose([
                        transforms.Resize((256, 256)),
                        transforms.ToTensor(),
                        transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229,  0.224, 0.225])])
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.