пользовательский тензор потока с порогом на тензор - PullRequest
0 голосов
/ 30 апреля 2020

В пользовательском потере с тензорным потоком я пытаюсь выбрать только значение истинного тензора и прогнозирования, от 0,2 до 0,8, и положить равным 1, в противном случае равным 0. Затем я вычисляю mse между прогнозом и истиной.

def customLoss(yTrue, yPred):
    yTrue_low=tf.where(yTrue > 0.2, tf.constant(1.), tf.constant(0.))
    yTrue_high=tf.where(yTrue < 0.8, tf.constant(1.), tf.constant(0.))
    trTrue=tf.multiply(yTrue_low, yTrue_high)

    yPred_low=tf.where(yPred > 0.2, tf.constant(1.), tf.constant(0.))
    yPred_high=tf.where(yPred < 0.8), tf.constant(1.), tf.constant(0.))
    trPred=tf.multiply(yPred_low, yPred_high)

    return tf.math.reduce_mean(tf.math.square(trTrue-trPred))

Я получил ошибку: ValueError: Градиенты не указаны ни для одной переменной

...