VGG
"VGG"는 "Visual Geometry Group"의 약자입니다. 이미지 분류와 물체 인식을 위한 깊은 합성곱 신경망 아키텍처를 개발한 옥스퍼드 대학교의 연구 그룹입니다. 이 아키텍처는 "VGGNet"으로 알려져 있으며 "대규모 이미지 인식을 위한 매우 깊은 합성곱 네트워크"라는 제목의 2014년 논문에서 소개되었습니다. VGGNet은 가장 영향력 있는 딥 러닝 모델 중 하나로 간주되며 이미지 분류 작업의 참고 자료로 널리 사용되어 왔습니다.
Very Deep Convolutional Networks for Large-Scale Image Recognition
import tensorflow as tf
print(f'TensorFlow version: {tf.__version__}')TensorFlow version: 2.9.2
from tensorflow.keras.applications import VGG16, VGG19vgg16 = VGG16(weights=None)
vgg16.summary()Model: "vgg16"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_2 (InputLayer) [(None, 224, 224, 3)] 0
block1_conv1 (Conv2D) (None, 224, 224, 64) 1792
block1_conv2 (Conv2D) (None, 224, 224, 64) 36928
block1_pool (MaxPooling2D) (None, 112, 112, 64) 0
block2_conv1 (Conv2D) (None, 112, 112, 128) 73856
block2_conv2 (Conv2D) (None, 112, 112, 128) 147584
block2_pool (MaxPooling2D) (None, 56, 56, 128) 0
block3_conv1 (Conv2D) (None, 56, 56, 256) 295168
block3_conv2 (Conv2D) (None, 56, 56, 256) 590080
block3_conv3 (Conv2D) (None, 56, 56, 256) 590080
block3_pool (MaxPooling2D) (None, 28, 28, 256) 0
block4_conv1 (Conv2D) (None, 28, 28, 512) 1180160
block4_conv2 (Conv2D) (None, 28, 28, 512) 2359808
block4_conv3 (Conv2D) (None, 28, 28, 512) 2359808
block4_pool (MaxPooling2D) (None, 14, 14, 512) 0
block5_conv1 (Conv2D) (None, 14, 14, 512) 2359808
block5_conv2 (Conv2D) (None, 14, 14, 512) 2359808
block5_conv3 (Conv2D) (None, 14, 14, 512) 2359808
block5_pool (MaxPooling2D) (None, 7, 7, 512) 0
flatten (Flatten) (None, 25088) 0
fc1 (Dense) (None, 4096) 102764544
fc2 (Dense) (None, 4096) 16781312
predictions (Dense) (None, 1000) 4097000
=================================================================
Total params: 138,357,544
Trainable params: 138,357,544
Non-trainable params: 0
_________________________________________________________________