Это невозможно .... Я предложу совсем другой подход в ответе, чтобы вы попробовали ....

лизую пользовательскую функцию потерь в Керасе. Выход модели - 10-мерный слой softmax. Чтобы рассчитать убыток: сначала мне нужно найти индекс у стрельбы 1, а затем вычесть это значение из истинного значения. Я делаю следующее:

from keras import backend as K

def diff_loss(y_true,y_pred):

    # find the indices of neuron firing 1
    true_ind=K.tf.argmax(y_true,axis=0)
    pred_ind=K.tf.argmax(y_pred,axis=0)

    # cast it to float32
    x=K.tf.cast(true_ind,K.tf.float32)
    y=K.tf.cast(pred_ind,K.tf.float32)

    return K.abs(x-y)

но он выдает ошибку «повысить ValueError (« Нет значений, не поддерживаемых ».) ValueError: Нет значений, не поддерживаемых». В чем здесь проблема?

Ответы на вопрос(1)

Ваш ответ на вопрос