weixin_53329734 2021-09-14 10:31 采纳率: 78.2%
浏览 30

在pytorch种如何解决难易样本的分类问题

我查阅资料,发现可以使用focal loss来解决,但是pytorch自带的包里没有这个函数,目前我使用的是交叉熵损失函数,如何将这个损失函数换成focal loss呢?

img


focal loss在网上的多分类代码很多,但我就是不会替换,怎么换呢?
或者不用focal loss,其他的损失函数也行,只要能解决难易样本带来的识别问题就行

  • 写回答

1条回答 默认 最新

  • python收藏家 2021-09-14 10:48
    关注

    来自kaggle上面的这个实现 可以直接用

    
    class FocalLoss(nn.Module):
        def __init__(self, alpha=1, gamma=2, logits=False, reduce=True):
            super(FocalLoss, self).__init__()
            self.alpha = alpha
            self.gamma = gamma
            self.logits = logits
            self.reduce = reduce
    
        def forward(self, inputs, targets):
            if self.logits:
                BCE_loss = F.binary_cross_entropy_with_logits(inputs, targets, reduce=False)
            else:
                BCE_loss = F.binary_cross_entropy(inputs, targets, reduce=False)
            pt = torch.exp(-BCE_loss)
            F_loss = self.alpha * (1-pt)**self.gamma * BCE_loss
    
            if self.reduce:
                return torch.mean(F_loss)
            else:
                return F_loss
    
    评论

报告相同问题?

问题事件

  • 创建了问题 9月14日

悬赏问题

  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号