我正在 keras 中实现自定义损失函数。模型的输出是 10 维的 softmax 层。要计算损失:首先我需要找到 y 触发 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)
但它给出了错误“raise ValueError("None values not supported.") ValueError: None values not supported。” 这里有什么问题?