首页 Paddle框架 帖子详情
如何在交叉熵函数中添加自定义的各类别的权重呢?
收藏
快速回复
Paddle框架 问答深度学习模型训练 493 2
如何在交叉熵函数中添加自定义的各类别的权重呢?
收藏
快速回复
Paddle框架 问答深度学习模型训练 493 2

数据集有11个类别,但是有的类很少,请问如何在交叉熵函数中添加自定义的各类别weight来均衡训练集呢?

# ../../../paddleseg/models/losses/cross_entropy_loss.py
class paddleseg.models.losses.CrossEntropyLoss(
weight = None,
ignore_index = 255,
top_k_percent_pixels = 1.0

data_format='NCHW')

0
收藏
回复
全部评论(2)
时间顺序
李长安
#2 回复于2022-07

你看看bce是不是可以加权重?是不是可以用onehot编码?

0
回复
Automate
#3 回复于2022-07

统计各个类别的样本数,然后求所有类别的均值(包含背景),之后让均值除以每个类别的样本数,将该这些值作为权重。

例如,类别0、1、2的样本数分别为23763891、2074886和3872709,其中所有类别样本数均值为9903829。

最终的weight≈[0.42, 4.8, 2.56]。

以上,是一种不一定有效的权重设置方法。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户