[TensorFlow] Merge Layers 예제
Merge
레이어는 여러 입력을 결합하는 데 사용됩니다. 주로 두 개 이상의 입력을 결합하여 더 복잡한 모델을 구성할 때 활용됩니다. 아래는 Concatenate
와 Add
레이어를 사용한 예제입니다.
- Concatenate Layer 예제:
import tensorflow as tf
from tensorflow.keras.layers import Input, Concatenate, Dense
from tensorflow.keras.models import Model
## 더미 데이터 생성
input1 = tf.random.normal(shape=(4, 10))
input2 = tf.random.normal(shape=(4, 10))
## 입력 레이어 정의
input_layer1 = Input(shape=(10,))
input_layer2 = Input(shape=(10,))
## Concatenate 레이어 정의
concat_layer = Concatenate()([input_layer1, input_layer2])
## 밀집 레이어 정의
output_layer = Dense(10, activation='softmax')(concat_layer)
## 모델 생성
model = Model(inputs=[input_layer1, input_layer2], outputs=output_layer)
## 모델 컴파일
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
## 모델 요약
model.summary()
## 모델 훈련
model.fit([input1, input2], [0, 1, 2, 3], epochs=5)`
- Add Layer 예제:
import tensorflow as tf
from tensorflow.keras.layers import Input, Add, Dense
from tensorflow.keras.models import Model
## 더미 데이터 생성
input1 = tf.random.normal(shape=(4, 10))
input2 = tf.random.normal(shape=(4, 10))
## 입력 레이어 정의
input_layer1 = Input(shape=(10,))
input_layer2 = Input(shape=(10,))
## Add 레이어 정의
add_layer = Add()([input_layer1, input_layer2])
## 밀집 레이어 정의
output_layer = Dense(10, activation='softmax')(add_layer)
## 모델 생성
model = Model(inputs=[input_layer1, input_layer2], outputs=output_layer)
## 모델 컴파일
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
## 모델 요약
model.summary()
## 모델 훈련
model.fit([input1, input2], [0, 1, 2, 3], epochs=5)`
위 두 예제에서는 각각 Concatenate
와 Add
레이어를 사용하여 더미 입력 데이터를 결합하여 모델을 구성하고 훈련합니다. 이와 같은 Merge
레이어를 사용하여 여러 입력을 결합할 수 있습니다.