[딥러닝, keras, TensorFlow]

화이팅·2023년 5월 1일
0

deep_learning

목록 보기
6/6

출처 : 이수안컴퓨터연구소 딥러닝 한번에 끝내기

keras에서 사용되는 주요 레이어

  • Dense
  • Activation
  • Flatten
  • Input
from tensorflow.keras.layers import Dense, Activation, Flatten, Input

Dense

  • 완전연결계층
  • 노드수(유닛수), 활성화 함수 지정
    가중치 초기화(kernel_initializer)

Flatten

(128,3,2,2) -> (128,12)


Model

: 레이어로 만들어진 비순환 유향 그래프 구조

모델 구성방법3가지
1. Sequential()
2. Subclassing
3. 함수형 api

  • Sequential()
    : 모델이 순차적인 구조로 진행, 간단 - Sequential 객체 생성 후, add()사용, 다중 입력 및 출력이 존재하는 복잡한 모델 구성 x
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
    - 가장 권장, 모델 복잡, 유연, 다중 입출력 o
# 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

모델 구성 후, 사용할 손실함수, 옵티마이저 지정

- 손실함수 : 학습이 진행되면서 해당 과정 얼마나 자ㅏㄹ 되고 있는지 나타내는 지표
- 옵티마이저 : 손실함수 기반 모델이 어떻게 업데이트되어야 하는지 결정

profile
하하...하.

0개의 댓글