https://opentutorials.org/module/5268/29787
5강 Flatten
이미지 분류기: 지도학습, 분류문제.
이미지 데이터. 28 x 28 -> 784개의 칼럼을 가진 형태로 변형
print(독립.shape)
# (60000, 28, 28)
독립.reshape(60000, 784)
print(독립.shape)
# (60000, 784)
특징 자동 추출기
히든레이어를 추가했을 때 84개의 특징은 컴퓨터가 인공신경망 구조 안에서 학습을 통해 스스로 찾은 것.
컴퓨터에게 이 이미지들이 0~9까지 중 어느 숫자인지 판단하기 위해 가장 좋은 특징 84개를 찾아달라는 명령
👉 인공신경망 == 특징 자동 추출기
reshape -> flatten 사용할 수 있음.
6강 Flatten(실습)
실습 코드는 드라이브에 업로드
###########################
# 라이브러리 사용
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])
'스터디📖 > ML, DL' 카테고리의 다른 글
Tensorflow 이미지 분류(CNN) - 9, 10강 다섯번째 딥러닝 3 - MaxPool2D (0) | 2021.10.04 |
---|---|
Tensorflow 이미지 분류(CNN) - 1, 2, 3, 4강 데이터와 차원 & 이미지 데이터 이해 (0) | 2021.09.28 |
Tensorflow (python) - 21강 부록2: 모델을 위한 팁 (0) | 2021.09.28 |
Tensorflow (python) - 20강 부록1: 데이터를 위한 팁 (0) | 2021.09.28 |
Tensorflow (python) - 18, 19강 네번째 딥러닝 - 신경망의 완성:히든레이어 (0) | 2021.09.28 |