[TensorFlow] Flatten Layer 예제

tf.keras.layers.Flatten 레이어는 다차원 데이터를 1차원으로 평탄화하는 역할을 합니다. 주로 CNN 레이어와 완전 연결 레이어 사이에서 사용됩니다. 아래는 tf.keras.layers.Flatten 레이어를 사용한 예제입니다.

import tensorflow as tf

## 입력 이미지 크기: 28x28, 채널 개수: 3 (예시로)
input_shape = (28, 28, 3)

## Flatten 레이어 정의
flatten_layer = tf.keras.layers.Flatten()

## 더미 입력 이미지 생성
dummy_input = tf.random.normal(shape=(1, *input_shape))  # 배치 크기 1로 가정

## Flatten 레이어 실행
flattened_output = flatten_layer(dummy_input)

print("Input shape:", dummy_input.shape)
print("Flattened output shape:", flattened_output.shape)` 

위 예제에서는 tf.keras.layers.Flatten 레이어를 사용하여 28x28 크기의 더미 이미지에 대한 레이어를 정의하고 실행합니다.

실행 결과:

Input shape: (1, 28, 28, 3)
Flattened output shape: (1, 2352)` 

위에서 확인할 수 있듯이, 입력 이미지의 형태가 (1, 28, 28, 3)이며 평탄화된 출력 데이터의 형태가 (1, 2352)임을 확인할 수 있습니다. Flatten 레이어는 이미지 데이터를 1차원으로 변환하여 완전 연결 레이어에 입력으로 사용될 수 있습니다.