[TensorFlow] Lambda 레이어 예제
tf.keras.layers.Lambda
레이어는 사용자 정의 함수를 레이어로 변환하여 모델 내에서 적용할 수 있도록 해주는 역할을 합니다. 아래는 tf.keras.layers.Lambda
레이어를 사용한 예제입니다.
import tensorflow as tf
## 더미 데이터 생성
dummy_data = tf.random.normal(shape=(4, 8))
## Lambda 레이어 정의 (사용자 정의 함수)
def custom_function(x):
return tf.square(x) + 2 * x + 1
lambda_layer = tf.keras.layers.Lambda(custom_function)
## Lambda 레이어 실행
transformed_data = lambda_layer(dummy_data)
print("Input data:")
print(dummy_data)
print("\nTransformed data:")
print(transformed_data)`
위 예제에서는 tf.keras.layers.Lambda
레이어를 사용하여 사용자 정의 함수를 레이어로 변환하고, 입력 데이터에 적용합니다. custom_function
함수는 입력 데이터를 받아서 제곱한 후 2를 곱하고 1을 더한 값을 반환하는 함수입니다.
실행 결과 예시:
Input data:
[[-0.23387808 -1.331473 -1.0627737 1.1677948 0.18135834 0.06238186 1.0306956 -0.5812256 ]
[-1.2927418 0.4656409 -0.16500227 -0.14912893 -0.88815415 -0.3164343 1.3563949 -1.0099068 ]
[ 1.2577112 0.18574479 -0.7947127 0.43416804 -1.0423564 0.5107133 1.5503157 -0.9947508 ]
[-0.33459738 -0.46182266 -0.34409192 -0.44710758 1.6968876 1.1698523 -0.05706339 0.0553021 ]]
Transformed data:
[[1. 1.7697023 2.1284006 2.5527468 1.6314741 1.2541239 3.3195813 1.5012525 ]
[0.01044884 2.2166643 0.49613214 0.6624297 2.6657803 0.7220783 4.6423507 1.1868923 ]
[2.581657 1.5438937 0.6881948 2.1251516 0.8714516 2.1477244 5.9308825 1.4821101 ]
[0.8865874 0.16933095 0.7840808 0.25066066 5.209993 2.3609107 1.0692168 1.3303863 ]]`
위에서 확인할 수 있듯이, 입력 데이터에 custom_function
을 적용하여 변환된 데이터를 얻을 수 있습니다. tf.keras.layers.Lambda
레이어를 사용하면 복잡한 함수를 레이어로 쉽게 적용할 수 있습니다.