기억 저장소

클라우드 기반 인공지능 개발과 DevOps 실무

인공지능/딥러닝

딥러닝 : CNN 이미지를 학습 시 탠서플로우 로 사용하는 코드

하늘.98 2021. 12. 1. 11:48

 Flatten

  • tf.keras.layers.Flatten()
  • CNN에서 Convolution Layer와 Pooling Layer를 반복적으로 거치면서 주요 특징만 추출되는데 이 때 추출된 주요 특징은 2차원 데이터로 이루어져 있지만 Dense와 같이 분류를 위한 학습 레이어에서는 1차원 데이터로 바꾸어서 학습이 되어야 한다. 이때 Flatten Layer가 2차원 데이터를 1차원 데이터로 바꾸는 역할을 한다.

 

인풋 레이어에 Flatten() 을 사용하면 컴퓨터가 알아서 이미지 사이즈를 계산하여 ,

인풋 레이어를 만들어준다. 입력자가 힘들게 계산할 필요가 없다.

아웃풋 레이어의 경우 

10개로 분류하는 문제이므로 

(노드) units = 10로 설정하며 엑티베이션 함수인  activation을 softmax로 설정한다.