Skip to content

Commit afb7ec8

Browse files
Joker316701882hellock
authored andcommitted
Avoid log(0) in iou_loss, which will lead to Nan. (open-mmlab#733)
* Update losses.py * Update losses.py
1 parent 76d0af9 commit afb7ec8

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

mmdet/core/loss/losses.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ def weighted_iou_loss(pred,
214214
loss = bounded_iou_loss(
215215
pred[inds], target[inds], beta=beta, eps=eps, reduction='sum')
216216
else:
217-
loss = iou_loss(pred[inds], target[inds], reduction='sum')
217+
loss = iou_loss(pred[inds], target[inds], eps=eps, reduction='sum')
218218
loss = loss[None] / avg_factor
219219
return loss
220220

@@ -248,8 +248,8 @@ def _expand_binary_labels(labels, label_weights, label_channels):
248248
return bin_labels, bin_label_weights
249249

250250

251-
def iou_loss(pred_bboxes, target_bboxes, reduction='mean'):
252-
ious = bbox_overlaps(pred_bboxes, target_bboxes, is_aligned=True)
251+
def iou_loss(pred_bboxes, target_bboxes, eps=1e-6, reduction='mean'):
252+
ious = bbox_overlaps(pred_bboxes, target_bboxes, is_aligned=True) + eps
253253
loss = -ious.log()
254254

255255
reduction_enum = F._Reduction.get_enum(reduction)

0 commit comments

Comments
 (0)