Tensorflow 102 - 이미지 분류(CNN)

다섯번째 딥러닝 1 - Flatten

수업소개

이미지셋 데이터를 표 형태의 데이터로 변형해서 학습하는 법을 배웁니다. 딥러닝 모델의 "특징 자동 추출기"라는 별명의 의미를 이해합니다. 

 

강의

실습

소스코드

colab |  backend.ai

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

###########################
# with reshape

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

# 모델을 만들고
X = tf.keras.layers.Input(shape=[784])
H = tf.keras.layers.Dense(84, activation='swish')(X)
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])
print(pd.DataFrame(pred).round(2))
print(종속[0:5])

###########################
# with flatten

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

# 모델을 만들고
X = tf.keras.layers.Input(shape=[28, 28])
H = tf.keras.layers.Flatten()(X)
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])
print(pd.DataFrame(pred).round(2))
print(종속[0:5])

댓글

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