VFloss pytorch
【摘要】
# Loss functions import torchimport torch.nn as nn from utils.general import bbox_ioufrom utils.torch_utils import is_parallel def smooth_BCE(eps=0.1): # https://github.com/ultral...
-
# Loss functions
-
-
import torch
-
import torch.nn as nn
-
-
from utils.general import bbox_iou
-
from utils.torch_utils import is_parallel
-
-
-
def smooth_BCE(eps=0.1): # https://github.com/ultralytics/yolov3/issues/238#issuecomment-598028441
-
# return positive, negative label smoothing BCE targets
-
return 1.0 - 0.5 * eps, 0.5 * eps
-
-
-
class BCEBlurWithLogitsLoss(nn.Module):
-
# BCEwithLogitLoss() with reduced missing label effects.
-
def __init__(self, alpha=0.05):
-
super(BCEBlurWithLogitsLoss, self).__init__()
-
self.loss_fcn = nn.BCEWithLogitsLoss(reduction='none') # must be nn.BCEWithLogitsLoss()
-
self.alpha = alpha
-
-
def forward(self, pred, true):
-
loss = self.loss_fcn(pred, true)
-
pred = torch.sigmoid(pred) # prob from logits
-
dx = pred - true # reduce only missing label effects
-
# dx = (pred - true).abs() # reduce missing label and false
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/117637195
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)