我正在构建一个自定义指标来测量培训期间我的多类数据集中一个类的准确性.我在选择课程时遇到了麻烦.
目标是一个热点(例如:0级标签是[1 0 0 0 0]:
from keras import backend as K
def single_class_accuracy(y_true, y_pred):
idx = bool(y_true[:, 0]) # boolean mask for class 0
class_preds = y_pred[idx]
class_true = y_true[idx]
class_acc = K.mean(K.equal(K.argmax(class_true, axis=-1), K.argmax(class_preds, axis=-1))) # multi-class accuracy
return class_acc
Run Code Online (Sandbox Code Playgroud)
麻烦的是,我们必须使用Keras函数来索引张量.如何为张量创建布尔掩码?谢谢.