Commit afb7ec86 authored by Ge Zheng's avatar Ge Zheng Committed by Kai Chen
Browse files

Avoid log(0) in iou_loss, which will lead to Nan. (#733)

* Update losses.py

* Update losses.py
parent 76d0af9d
...@@ -214,7 +214,7 @@ def weighted_iou_loss(pred, ...@@ -214,7 +214,7 @@ def weighted_iou_loss(pred,
loss = bounded_iou_loss( loss = bounded_iou_loss(
pred[inds], target[inds], beta=beta, eps=eps, reduction='sum') pred[inds], target[inds], beta=beta, eps=eps, reduction='sum')
else: 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 loss = loss[None] / avg_factor
return loss return loss
...@@ -248,8 +248,8 @@ def _expand_binary_labels(labels, label_weights, label_channels): ...@@ -248,8 +248,8 @@ def _expand_binary_labels(labels, label_weights, label_channels):
return bin_labels, bin_label_weights return bin_labels, bin_label_weights
def iou_loss(pred_bboxes, target_bboxes, reduction='mean'): def iou_loss(pred_bboxes, target_bboxes, eps=1e-6, reduction='mean'):
ious = bbox_overlaps(pred_bboxes, target_bboxes, is_aligned=True) ious = bbox_overlaps(pred_bboxes, target_bboxes, is_aligned=True) + eps
loss = -ious.log() loss = -ious.log()
reduction_enum = F._Reduction.get_enum(reduction) reduction_enum = F._Reduction.get_enum(reduction)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment