Sequential 모델
# Keras expects this data format
(n_samples, height, width, channels)
sequential model은 layer를 선형으로 연결하여 구성한다. layer 인스턴스를 생성자에게 넘겨줌으로써 sequential model을 구성할 수 있다.
from keras.models import Sequential
from keras.layers import Dense, Activation
model = Sequential([
Dense(32, input_shape=(784,)),
Activation('relu'),
Dense(10),
Activation('softmax'),
])
다른 방법으로 .add() 메소드를 통해서 쉽게 layer를 추가할 수 있다.
model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))
입력 형태 지정하기
만들어진 model은 입력 형태에 대한 정보가 필요하다. sequential model의 첫 번째 layer는 입력 형태에 대한 정보를 받는다. 두 번째 이후 layer들은 자동으로 형태를 추정할 수 있기 때문에 형태 정보를 갖고 있을 필요는 없다. 형태 정보를 전달하기 위한 방법은 다음과 같다. 정수형 또는 None으로 구성된 형태 튜플(shape tuple)의 input_shape 인자를 첫번째 layer에 전달한다. 여기서 None은 음이 아닌 어떠한 정수를 받을 수 있음을 의미한다. 참고로 input_shape에는 배치 차원 (batch dimension)이 포함되지 않는다.
Dense와 같은 일부 2D layer의 경우, 입력 형태를 input_dim 인자를 통해 지정할 수 있으며 일부 의 임시적인 3D layer는 input_dim과 input_length 인자를 지원한다. 입력 데이터를 위해 고정된 배치 형태를 필요로 하는 경우에는 layer에 batch_size 인자를 넘길 수 있다. 이는 RNN을 사용할 때 유용하다. 예를 들어, batch_size=64와 input_shape=(6,8)을 레이어에 넘겨주면 이후의 모든 입력을 64, 6, 8의 형태로 기대하여 처리한다.
model = Sequential()
model.add(Dense(32, input_shape=(784,)))
model = Sequential()
model.add(Dense(32, input_dim=784))
https://keras.io/ko/getting-started/sequential-model-guide/
'Python Library > Keras' 카테고리의 다른 글
[Keras] model / weight 저장 및 불러오기 (0) | 2021.12.21 |
---|---|
[Keras] 손실 함수 (Loss Function) (0) | 2021.12.20 |
[Keras] 학습 (0) | 2021.12.20 |
[Keras] 컴파일 (Compile) (0) | 2021.12.20 |
케라스 (Keras) (0) | 2021.12.20 |