Problema de implementação de função de perda personalizada em keras
Estou implementando uma função de perda personalizada no keras. A saída do modelo é uma camada softmax de 10 dimensões. Para calcular a perda: primeiro preciso encontrar o índice de y disparando 1 e depois subtrair esse valor com valor verdadeiro. Estou fazendo o seguinte:
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)
mas fornece o erro "raise ValueError (" Nenhum valor não é suportado. ")) ValueError: nenhum valor não é suportado." Qual é o problema aqui?