Пользовательская метрическая функция в Keras с неработающей метрикой тензорного потока - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь реализовать пользовательскую метрическую функцию в Keras, чтобы найти точность при k следующим образом:

def PAt20(y_true, y_pred):
    score, up_opt = tf.metrics.precision_at_k(y_true, y_pred, 20)
    K.get_session().run(tf.local_variables_initializer())
    with tf.control_dependencies([up_opt]):
       score = tf.identity(score)
    return score

где K - keras.backend, но она вообще не работает, когда функцияВызванный во время компиляции модели, я получаю ошибку:

вход должен иметь последнее измерение> = k = 20, но равен 1 для 'metrics_7 / PAt20 / precision_at_20 / TopKV2' (op: 'TopKV2') с формами ввода: [?, 1], [] и с вычисленными тензорами ввода: input [1] = <20>.

любые предложения?

...