이번 코드는 VGG11, VGG13, VGG16, VGG19 모델의 계층을 정리한 것입니다. 숫자(output channel, 출력 채널)는 Conv2d를 수행하라는 의미이며, 출력 채널(output channel)이 다음 계층의 입력 채널(input channel)이 됩니다. 또한, M은 최대 풀링(max pooling)을 수행하라는 의미입니다.
코드 6-41 모델 유형 정의
vgg11_config = [64, 'M', 128, 'M', 256, 256, 'M', 512, 512, 'M', 512, 512, 'M'] ------ 8(합성곱층) + 3(풀링층) = 11(전체 계층) = VGG11
vgg13_config = [64, 64, 'M', 128, 128, 'M', 256, 256, 'M', 512, 512, 'M', 512, 512, 'M'] ------ 10(합성곱층) + 3(풀링층) = 13(전체 계층) = VGG13
vgg16_config = [64, 64, 'M', 128, 128, 'M', 256, 256, 256, 'M', 512, 512, 512, 'M', 512, 512, 512, 'M'] ------ 13(합성곱층) + 3(풀링층) = 16(전체 계층) = VGG16
vgg19_config = [64, 64, 'M', 128, 128, 'M', 256, 256, 256, 256, 'M', 512, 512, 512, 512, 'M', 512, 512, 512, 512, 'M'] ------ 16(합성곱층) + 3(풀링층) = 19(전체 계층) = VGG19
VGG11, VGG13, VGG16, VGG19에 대한 네트워크를 그림으로 정리하면 다음과 같습니다.
▲ 그림 6-15 VGG의 다양한 모델에 대한 네트워크