Tensorflow 102 - 이미지 분류(CNN)

다섯번째 딥러닝 2 - Conv2D

수업소개

컨볼루션에 대한 이해와 컨볼루션 레이어의 사용법을 익힙니다.

컨볼루션 필터의 역할을 중심으로 컨볼루션 레이어에 대한 이해를 합니다. 

컨볼루션 연산이 어떻게 이루어 지는지 확인해 봅니다. 

 

컨볼루션의 이해

필터의 이해

 실습

컨볼루션 연산

소스코드

colab |  backend.ai

###########################
# 라이브러리 사용
import tensorflow as tf
import pandas as pd

###########################
# 데이터를 준비하고
(독립, 종속), _ = tf.keras.datasets.mnist.load_data()
독립 = 독립.reshape(60000, 28, 28, 1)
종속 = pd.get_dummies(종속)
print(독립.shape, 종속.shape)

###########################
# 모델을 만들고
X = tf.keras.layers.Input(shape=[28, 28, 1])
H = tf.keras.layers.Conv2D(3, kernel_size=5, activation='swish')(X)
H = tf.keras.layers.Conv2D(6, kernel_size=5, activation='swish')(H)
H = tf.keras.layers.Flatten()(H)
H = tf.keras.layers.Dense(84, activation='swish')(H)
Y = tf.keras.layers.Dense(10, activation='softmax')(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='categorical_crossentropy', metrics='accuracy')

###########################
# 모델을 학습하고
model.fit(독립, 종속, epochs=10)

###########################
# 모델을 이용합니다. 
pred = model.predict(독립[0:5])
pd.DataFrame(pred).round(2)

# 정답 확인
종속[0:5]

# 모델 확인
model.summary()

 

댓글

댓글 본문
버전 관리
이선비
현재 버전
선택 버전
graphittie 자세히 보기