【发布时间】:2017-11-13 18:02:23
【问题描述】:
我想在 Keras 中编写一个自定义指标(我使用的是 tensorflow 后端),相当于categorical_accuracy,但是必须忽略具有特定黄金标签的样本的输出(在我的情况下为 0,来自 y_true) .例如,如果我的输出是:
Pred 1 - Gold 0
Pred 1 - Gold 1
准确度为 1,因为必须忽略带有金色标签 0 的样本。也就是说,我编写的函数(并没有给出预期的结果)是:
def my_accuracy(y_true, y_pred):
mask = K.any(K.not_equal(K.argmax(y_true, axis=-1), 0), axis=-1, keepdims=True)
masked_y_true = y_true*K.cast(mask, K.dtype(y_true))
masked_y_pred = y_pred*K.cast(mask, K.dtype(y_pred))
return keras.metrics.categorical_accuracy(masked_y_true, masked_y_pred)`
感谢任何帮助,谢谢!
【问题讨论】:
标签: tensorflow keras metrics