[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 레이어를 사용하면 복잡한 함수를 레이어로 쉽게 적용할 수 있습니다.