더북(TheBook)

이번에는 합성곱 네트워크를 이용한 모델을 생성합니다.

코드 5-10 합성곱 네트워크를 이용한 모델 생성

model_with_conv = tf.keras.Sequential([
    tf.keras.layers.Conv2D(32, (3,3), padding='same', activation='relu',
                           input_shape=(28,28,1)),  ------ ①
    tf.keras.layers.MaxPooling2D((2,2), strides=2), ------ ②
    tf.keras.layers.Conv2D(64, (3,3), padding='same', activation='relu'),
    tf.keras.layers.MaxPooling2D((2,2), strides=2),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')  ------ ③
])

model_with_conv.compile(optimizer='adam',
                        loss='sparse_categorical_crossentropy',
                        metrics=['accuracy'])

신경망은 Conv와 MaxPooling의 쌍으로 구성됩니다.

① 첫 번째 층은 입력 이미지에 적용되는 합성곱층으로 필터는 (3,3)이며, 패딩을 사용하여 원래 이미지 크기를 유지합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.