출처 : 이수안컴퓨터연구소 딥러닝 한번에 끝내기
keras에서 사용되는 주요 레이어
from tensorflow.keras.layers import Dense, Activation, Flatten, Input
Dense
Flatten
(128,3,2,2) -> (128,12)
Model
: 레이어로 만들어진 비순환 유향 그래프 구조
모델 구성방법3가지
1. Sequential()
2. Subclassing
3. 함수형 api
from tensorflow.keras.layers import Dense, Input, Flatten
from tensorflow.keras.models import Sequential, Model
from tensorflow.keras.utils import plot_model
model=Sequential()
model.add(Input(shape=(28,28)))
model.add(Dense(300, activation='relu'))
model.add(Dense(100, activation='relu'))
model.add(Dense(10, activation='softmax'))
model.summary()
# api
inputs=Input(shape=(28,28,1))
x=Flatten(input_shape=(28,28,1))(inputs)
x=Dense(300, activation='relu')(x)
x=Dense(100, activation='relu')(x)
x=Dense(10, activation='softmax')(x)
model=Model(inputs=inputs, outputs=x)
model.summary()
Compile
모델 구성 후, 사용할 손실함수, 옵티마이저 지정
- 손실함수 : 학습이 진행되면서 해당 과정 얼마나 자ㅏㄹ 되고 있는지 나타내는 지표
- 옵티마이저 : 손실함수 기반 모델이 어떻게 업데이트되어야 하는지 결정