Tensorflow - Flatten / 자체적 Flatten (라이브러리 사용X)

Flatten

  • 다차원의 행렬을 1차원의 행렬로 변경하는 작업

일반적으로 사용하는 Flatten 라이브러리

  • 인공지능 모델링에서 계층(레이어)를 설정할 때 사용
  • 인공지능 모델 생성 후 설정 (tf.keras.models.Sequential())
  • Flatten을 사용하면 모델링시 input_shape도 자동으로 지정
model.add(tf.keras.layers.Flatten())

자체적 Flatten 처리

  • 행렬의 크기를 확인 shape 
  • 행렬의 크기를 재정의 reshape
  • 1차원의 행렬로 변경
  • 자체적으로 Flatten 처리를 할 경우, 모델링시 input_shape를 지정하여야 함
array.shape
>>> (60000, 28, 28)
# 60000개의 이미지를 포함하는 28*28 행렬

array = array.reshape(60000, 28*28)
array.shape
>>> (60000, 784)
# 60000개의 이미지, 각 이미지를 하나의 행렬로 정의