Problema de implementación de la función de pérdida personalizada en keras

Estoy implementando una función de pérdida personalizada en keras. La salida del modelo es una capa softmax de 10 dimensiones. Para calcular la pérdida: primero necesito encontrar el índice de y disparando 1 y luego restar ese valor con el valor verdadero. Estoy haciendo lo siguiente:

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)

pero da el error "raise ValueError (" Ninguno de los valores no es compatible ") ValueError: Ninguno de los valores no es compatible". ¿Cuál es el problema aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta