如何在 keras 模型中实现汉明损失作为自定义指标
Posted
技术标签:
【中文标题】如何在 keras 模型中实现汉明损失作为自定义指标【英文标题】:how to implement hamming loss as a custom metric in keras model 【发布时间】:2021-03-29 01:21:25 【问题描述】:如何在 keras 模型中将汉明损失作为自定义指标实现 我有一个包含 6 个类的多标签分类
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy',hamming_loss])
我尝试过使用
from sklearn.metrics import hamming_loss
def custom_hl(y_true, y_pred):
return hamming_loss(y_true, y_pred)
这不起作用,因为我有 y_true , y_pred 如下
YTRUE
Tensor("Cast_10:0", shape=(None, 6), dtype=float32)
YPRED
Tensor("model_1/dense_1/Sigmoid:0", shape=(None, 6), dtype=float32)
也试过这个问题中的功能,但它不起作用 Getting the accuracy for multi-label prediction in scikit-learn 有什么方法可以将汉明损失作为 keras 中的度量 感谢您的帮助
【问题讨论】:
希望对您有所帮助tensorflow.org/addons/api_docs/python/tfa/metrics/hamming/… 【参考方案1】:所以我找到了方法
def Custom_Hamming_Loss(y_true, y_pred):
return K.mean(y_true*(1-y_pred)+(1-y_true)*y_pred)
def Custom_Hamming_Loss1(y_true, y_pred):
tmp = K.abs(y_true-y_pred)
return K.mean(K.cast(K.greater(tmp,0.5),dtype=float))
来源:https://groups.google.com/g/keras-users/c/_sjndHbejTY?pli=1
【讨论】:
以上是关于如何在 keras 模型中实现汉明损失作为自定义指标的主要内容,如果未能解决你的问题,请参考以下文章