如何在交叉熵函数中添加自定义的各类别的权重呢?
收藏
数据集有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
收藏
请登录后评论
你看看bce是不是可以加权重?是不是可以用onehot编码?
统计各个类别的样本数,然后求所有类别的均值(包含背景),之后让均值除以每个类别的样本数,将该这些值作为权重。
例如,类别0、1、2的样本数分别为23763891、2074886和3872709,其中所有类别样本数均值为9903829。
最终的weight≈[0.42, 4.8, 2.56]。
以上,是一种不一定有效的权重设置方法。