[TensorFlow] GlobalAveragePooling1D 및 GlobalMaxPooling1D 레이어 예제

tf.keras.layers.GlobalAveragePooling1Dtf.keras.layers.GlobalMaxPooling1D 레이어는 1D 시퀀스 데이터에 대해 전역 평균 풀링과 전역 최대 풀링을 수행하는 데 사용됩니다. 이를 통해 시퀀스의 길이를 줄이면서 중요한 정보를 추출할 수 있습니다. 아래는 두 레이어를 사용한 예제입니다.

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import GlobalAveragePooling1D, GlobalMaxPooling1D

## 더미 시퀀스 데이터 생성
dummy_sequence = tf.random.normal(shape=(4, 20, 32))  # 4개의 시퀀스, 각 시퀀스 길이: 20, 특성 개수: 32

## GlobalAveragePooling1D 레이어 정의
avg_pooling_layer = GlobalAveragePooling1D()

## GlobalMaxPooling1D 레이어 정의
max_pooling_layer = GlobalMaxPooling1D()

## 두 레이어 실행
avg_pooled_data = avg_pooling_layer(dummy_sequence)
max_pooled_data = max_pooling_layer(dummy_sequence)

print("Input shape:", dummy_sequence.shape)
print("Global Average Pooled data shape:", avg_pooled_data.shape)
print("Global Max Pooled data shape:", max_pooled_data.shape)` 

위 예제에서는 tf.keras.layers.GlobalAveragePooling1Dtf.keras.layers.GlobalMaxPooling1D 레이어를 사용하여 4개의 시퀀스에 대해 두 가지 레이어를 각각 정의하고 실행합니다. 입력 시퀀스의 길이는 20이고 특성 개수는 32입니다.

실행 결과 예시:

Input shape: (4, 20, 32)
Global Average Pooled data shape: (4, 32)
Global Max Pooled data shape: (4, 32)` 

위에서 확인할 수 있듯이, 입력 시퀀스의 길이는 유지되면서 각 시퀀스에 대해 평균과 최대 풀링이 수행되어 중요한 정보를 추출합니다. tf.keras.layers.GlobalAveragePooling1Dtf.keras.layers.GlobalMaxPooling1D 레이어를 사용하여 시퀀스 데이터를 처리할 수 있습니다.