自定义pytorch损失函数使得训练过程中出现nan
问题:BCE的定义:-ylogp - (1-y)log(1-p),而如果我们用下面这种方式写出来:loss = - target * torch.log(pred) - (1-target) * torch.log(1-pred)可能会出现损失函数nan和inf的情况。我自定义一个加权的BCE损失的时候就出现这个问题,于是查找pytorch官方的BCE文档,发现这样一句话:Our solution is thatBCELoss clamps its log function outputs to
原创
2022-03-09 21:30:25 ·
741 阅读 ·
0 评论