Пользовательская функция активации keras с заменой порога - PullRequest
0 голосов
/ 01 февраля 2019

Для пользовательской функции активации, которая изменяется на баллы ниже, я хочу заменить значения с activ_x с порогом меньше 0,5 = 0.

Как я могу изменить?

def ScoreActivationFromSigmoid(x, target_min=1, target_max=9) :
    activated_x = K.sigmoid(x)
    #threshold = 0.5
    #binary_activated_x = activated_x > threshold
    #activated_x = K.cast_to_floatx(binary_activated_x)
    score = activated_x * (target_max - target_min) + target_min
    return  score

с закомментированным источником выше, он работает как функция активации, но когда я раскомментирую их, они не будут работать

1 Ответ

0 голосов
/ 01 февраля 2019

Метод K.cast_to_floatx работает с массивами numpy, а не с тензорами.Вместо этого вы можете использовать функцию K.cast следующим образом:

activated_x = K.cast(binary_activated_x, dtype='float32')
...