2017-03-29 3 views
2

값을 자르고 싶습니다. 어떻게 할 수 있습니까?Keras 리그 레션 클립 값

from keras.backend.tensorflow_backend import clip 
from keras.layers.core import Lambda 

... 
model.add(Dense(1)) 
model.add(Activation('linear')) 
model.add(Lambda(lambda x: clip(x, min_value=200, max_value=1000))) 

그러나 내 람다 + 클립을 넣을 곳이 중요하지 않습니다, 그것은 아무 영향을주지 않습니다

나는이 사용하여 시도?

+0

'model.summary()'를 출력 할 수 있습니까? 그리고 클립에 의해 아무 것도 영향을 미치지 않으면 값이 잘리지 않는다는 뜻입니까? –

답변

2

실제로 model.compile 단계에서 손실로 구현되어야합니다.

from keras import backend as K 

def clipped_mse(y_true, y_pred): 
    return K.mean(K.square(K.clip(y_pred, 0., 1900.) - K.clip(y_true, 0., 1900.)), axis=-1) 

model.compile(loss=clipped_mse)