Focal-Loss-Pytorch icon indicating copy to clipboard operation
Focal-Loss-Pytorch copied to clipboard

关于背景类

Open aoko-sys opened this issue 4 years ago • 5 comments

博主您好! 我研读了您focalloss.py的代码,如果label是otherwise而不是1,我看代码好像并没有计算相应的损失值。 请问如果label是otherwise是不需要计算损失吗?

aoko-sys avatar Oct 09 '20 14:10 aoko-sys

请您描述更具体些,不是特别清楚您这里的问题

yatengLG avatar Oct 10 '20 01:10 yatengLG

我的意思是如果样本y_true=[0,1,0,0],预测标签是y_pred=[0.1,0.7,0.2,0.0]那么这样应该怎么计算损失函数? 是把y_true=[0,1,0,0]转换成【1】这样吗?

aoko-sys avatar Oct 10 '20 01:10 aoko-sys

是的。和pytorch官方的 cross entropy一样使用即可。标签不需要one-hot

yatengLG avatar Oct 10 '20 03:10 yatengLG

关于代码: preds_logsoft = F.log_softmax(preds, dim=1) # log_softmax preds_softmax = torch.exp(preds_logsoft) # softmax

为什么经过log_softmax( )之后 ,还需要加torch.exp()?

aoko-sys avatar Oct 11 '20 06:10 aoko-sys

因为如果先 softmax 然后log,数值会出现不稳定的情况。

详见: https://github.com/yatengLG/Focal-Loss-Pytorch/issues/7

yatengLG avatar Oct 12 '20 06:10 yatengLG