Data miner/Development log

[tf.Keras] Keras.models의 Model과 keras.layers의 Lambda

carayoon 2021. 1. 15. 16:57
728x90

케라스의 Model 클래스를 사용하고자 할 때, Keras의 Layer의 형식을 따라야 한다. 

1) 다른 텐서플로우의 클래스/함수를 이용하여 이 결과값을 활용하는 경우,

2) Keras Model에 일괄적으로 input데이터를 넣는 게 아닌, 데이터를 직접 로드하여 Custom layer을 지정하는 경우

 

Keras Layer 형식으로 통일시켜주는 Keras.layers의 Lambda 함수를 사용한다. 

 

lambda_layer1 = Lambda(lambda x: (외부 데이터를 받아서 변형하거나, 다른 tensorflow의 output을 단순히 넣어주면 된다.)(previous_layer)

#사용예시
x = Lambda(lambda x: X[:,t,:])(X)
y = Lambda(lambda x: tf.image.resize_bilinear(x,tf.stack([h, w]),
                                                   align_corners=True))(X)

 

이렇게 형식을 통일시켜야, Keras.model의 Model에 input정보로 넣어도 에러가 나지 않는다.