Focal-Loss-Pytorch
Focal-Loss-Pytorch copied to clipboard
关于背景类
博主您好! 我研读了您focalloss.py的代码,如果label是otherwise而不是1,我看代码好像并没有计算相应的损失值。 请问如果label是otherwise是不需要计算损失吗?
请您描述更具体些,不是特别清楚您这里的问题
我的意思是如果样本y_true=[0,1,0,0],预测标签是y_pred=[0.1,0.7,0.2,0.0]那么这样应该怎么计算损失函数? 是把y_true=[0,1,0,0]转换成【1】这样吗?
是的。和pytorch官方的 cross entropy一样使用即可。标签不需要one-hot
关于代码: preds_logsoft = F.log_softmax(preds, dim=1) # log_softmax preds_softmax = torch.exp(preds_logsoft) # softmax
为什么经过log_softmax( )之后 ,还需要加torch.exp()?
因为如果先 softmax 然后log,数值会出现不稳定的情况。
详见: https://github.com/yatengLG/Focal-Loss-Pytorch/issues/7