TensorFlow

TensorFlow - Flatten 라이브러리를 사용하는 이유

Cong_S 2022. 6. 13. 15:07

flatten 라이브러리란?  

model.add(Dense(units=64, activation='relu', input_shape= (8, )))

TensorFlow에서 ANN(인공신경망)을 구성할 때에

맨 처음 input layer는 hidden layer 구성 시 input_shape라는 파라미터에 값을 입력해줌으로써

입력되는 데이터의 갯수를 정해주었고 이 수치는 데이터 1행의 컬럼의 수를 뜻하였다.

 

2차원 넘파이 어레이

 

하지만 image를 넘파이로 만들었을때 하나의 데이터의 구조는 다음과 같이 2차원의 형태를 가지고 있다.

그러므로 우리는 ANN의 위와 같은 이미지데이터를 입력하기 위해서는 2차원 구조를 데이터 1행의 1차원 구조로 변경해주어야 한다.

 

그 과정을 Flatten이라 한다.

# 먼저 깡통 Sequential 을 만들고
model =  tf.keras.models.Sequential()

# Flatten 을 add 해주자!
model.add( tf.keras.layers.Flatten() )

적용할 때는 TensorFlow에서 제공되는 Flatten 함수를 사용하면 된다.