From afb7ec8651d919f9d052a01edd0bc35ec9737de1 Mon Sep 17 00:00:00 2001 From: Ge Zheng <gezheng121@foxmail.com> Date: Tue, 11 Jun 2019 14:55:24 +0800 Subject: [PATCH] Avoid log(0) in iou_loss, which will lead to Nan. (#733) * Update losses.py * Update losses.py --- mmdet/core/loss/losses.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mmdet/core/loss/losses.py b/mmdet/core/loss/losses.py index 8db7118..388b98f 100644 --- a/mmdet/core/loss/losses.py +++ b/mmdet/core/loss/losses.py @@ -214,7 +214,7 @@ def weighted_iou_loss(pred, loss = bounded_iou_loss( pred[inds], target[inds], beta=beta, eps=eps, reduction='sum') else: - loss = iou_loss(pred[inds], target[inds], reduction='sum') + loss = iou_loss(pred[inds], target[inds], eps=eps, reduction='sum') loss = loss[None] / avg_factor return loss @@ -248,8 +248,8 @@ def _expand_binary_labels(labels, label_weights, label_channels): return bin_labels, bin_label_weights -def iou_loss(pred_bboxes, target_bboxes, reduction='mean'): - ious = bbox_overlaps(pred_bboxes, target_bboxes, is_aligned=True) +def iou_loss(pred_bboxes, target_bboxes, eps=1e-6, reduction='mean'): + ious = bbox_overlaps(pred_bboxes, target_bboxes, is_aligned=True) + eps loss = -ious.log() reduction_enum = F._Reduction.get_enum(reduction) -- GitLab