自定义keras损失

米拉德·拉德(Milad Rad)

我正在使用带有tensorflow后端的keras,并且尝试编写自定义keras损失函数,我需要为我的每个类(我有4个类)计算f1分数,问题是当我编写代码时编译模型时出错,因为y_truey_pred均为模型编译时的占位符,因此我无法使用scikit-learn计算f1得分。解决该问题的通常方法是使用keras后端内置函数来解决自定义丢失,但似乎很难将它们用于按类f1得分计算。我将不胜感激:)

def F1_Loss(y_true,y_pred):
    y_true = K.eval(y_true)
    y_pred = K.eval(y_pred)
    f1_vector = sklearn.metrics.f1_score(y_true,to_categorical(np.argmax(y_pred,axis=1),num_classes=4),average=None)
    return np.mean(f1_vector)

米拉德·拉德(Milad Rad)

我解决了我在这里张贴的问题,以防有人遇到相同的问题

def F1_Vector(y_true,y_pred):
    tp = K.sum(K.cast(y_true*y_pred, 'float'), axis=0)
    tn = K.sum(K.cast((1-y_true)*(1-y_pred), 'float'), axis=0)
    fp = K.sum(K.cast((1-y_true)*y_pred, 'float'), axis=0)
    fn = K.sum(K.cast(y_true*(1-y_pred), 'float'), axis=0)
    p = tp / (tp + fp + K.epsilon())
    r = tp / (tp + fn + K.epsilon())
    f1 = 2*p*r / (p+r+K.epsilon())
    f1_vector = (tf.where(tf.math.is_nan(f1), tf.zeros_like(f1), f1))
    return f1_vector


本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Keras上的自定义损失功能

来自分类Dev

在Keras建立自定义损失

来自分类Dev

Keras 中自定义损失的输出

来自分类Dev

Keras,Python中的自定义损失函数?

来自分类Dev

Keras模型-在自定义损失函数中获取输入

来自分类Dev

在CNN的Keras自定义损失函数中处理数据

来自分类Dev

Keras:无法在模型中使用自定义损失函数

来自分类Dev

如何为Keras使用自定义损失功能

来自分类Dev

自定义损失函数,Keras \\ ValueError:无渐变

来自分类Dev

基于输入数据的Keras中的自定义损失函数

来自分类Dev

keras 中的加权 mse 自定义损失函数 - 自定义权重

来自分类Dev

带和不带自定义循环的Keras中的回归自定义损失返回值

来自分类Dev

以y_true取决于y_pred的方式自定义Keras的损失函数

来自分类Dev

如何在Keras中实现此自定义损失功能?

来自分类Dev

琐碎的自定义Keras损失函数导致精度指标失败

来自分类Dev

带有“ sparse_softmax_cross_entropy_with_logits”的自定义keras损失-排名不匹配

来自分类Dev

如何编写具有加权平均的keras自定义f1损失函数?

来自分类Dev

Keras的自定义损失函数中y_true的大小

来自分类Dev

Tensorflow 2:自定义损失函数的工作原理与原始Keras SparseCategoricalCrossentropy不同

来自分类Dev

如何在Keras模型的自定义损失中访问Tensor的内容

来自分类Dev

在keras自定义损失函数中获取训练数据形状

来自分类Dev

y_pred的自定义损失函数Keras仅高于某个阈值

来自分类Dev

Keras自定义损失函数InvalidArgumentError:In [1]不是矩阵。相反,它具有形状[]

来自分类Dev

如何将tensorflow自定义损失用于keras模型?

来自分类Dev

Keras自定义损失函数:tf.function-decorated中的ValueError

来自分类Dev

如何在Keras中加快具有自定义损失功能的模型的训练?

来自分类Dev

张量的矢量化运算,而不是在keras自定义损失函数中使用for循环

来自分类Dev

在Keras / Tensorflow自定义损失函数中使用其他**可**变量

来自分类Dev

Keras模型的自定义损失函数给出错误答案

Related 相关文章

  1. 1

    Keras上的自定义损失功能

  2. 2

    在Keras建立自定义损失

  3. 3

    Keras 中自定义损失的输出

  4. 4

    Keras,Python中的自定义损失函数?

  5. 5

    Keras模型-在自定义损失函数中获取输入

  6. 6

    在CNN的Keras自定义损失函数中处理数据

  7. 7

    Keras:无法在模型中使用自定义损失函数

  8. 8

    如何为Keras使用自定义损失功能

  9. 9

    自定义损失函数,Keras \\ ValueError:无渐变

  10. 10

    基于输入数据的Keras中的自定义损失函数

  11. 11

    keras 中的加权 mse 自定义损失函数 - 自定义权重

  12. 12

    带和不带自定义循环的Keras中的回归自定义损失返回值

  13. 13

    以y_true取决于y_pred的方式自定义Keras的损失函数

  14. 14

    如何在Keras中实现此自定义损失功能?

  15. 15

    琐碎的自定义Keras损失函数导致精度指标失败

  16. 16

    带有“ sparse_softmax_cross_entropy_with_logits”的自定义keras损失-排名不匹配

  17. 17

    如何编写具有加权平均的keras自定义f1损失函数?

  18. 18

    Keras的自定义损失函数中y_true的大小

  19. 19

    Tensorflow 2:自定义损失函数的工作原理与原始Keras SparseCategoricalCrossentropy不同

  20. 20

    如何在Keras模型的自定义损失中访问Tensor的内容

  21. 21

    在keras自定义损失函数中获取训练数据形状

  22. 22

    y_pred的自定义损失函数Keras仅高于某个阈值

  23. 23

    Keras自定义损失函数InvalidArgumentError:In [1]不是矩阵。相反,它具有形状[]

  24. 24

    如何将tensorflow自定义损失用于keras模型?

  25. 25

    Keras自定义损失函数:tf.function-decorated中的ValueError

  26. 26

    如何在Keras中加快具有自定义损失功能的模型的训练?

  27. 27

    张量的矢量化运算,而不是在keras自定义损失函数中使用for循环

  28. 28

    在Keras / Tensorflow自定义损失函数中使用其他**可**变量

  29. 29

    Keras模型的自定义损失函数给出错误答案

热门标签

归档