keras.layers.Flatten()
이 함수를 활용하면 된다.
model.summary()를 통해 확인해보면, input shape와 output shape가 동일하게 나오는게 보이는데,
별도 옵션이나 함수에서 output shape를 변경하는 건 없다.
Flatten() 의 역할은 n dimension을 직렬화시켜버린다. Flatten()을 통해 shape을 단순화시키고,
최종 값을 낼지, 추가 학습 모델을 넣을지 선택하면 된다.
stackoverflow에 대략 적인 답이 있어서, 이 내용을 참고 했다.
그리고 stackoverflow 뿐만 아니라, flatten()에 대한 내용은 tutorial이나 책에도 항상 나오고 있지만,
본인이 코드 작성하다보면, 실수나 생각나지 않을 수 있어서 메모해둔다.
참조 : https://github.com/keras-team/keras/issues/6351
내 코드에서 발생한 에러코드
expected ... to have 3 dimensions, but got array with shape ...
'데이터사이언스 > Keras로' 카테고리의 다른 글
cartpole in keras (a2c) (0) | 2020.06.28 |
---|---|
딥러닝을 위한 고급도구 (0) | 2020.05.07 |
keras LSTM, sequence를 model로 바꿔서 사용할 때 (다중입력 필요시) (0) | 2020.04.29 |
Keras LSTM 입력 포맷의 이해 Understanding Input shapes in LSTM (0) | 2020.04.29 |