"git@developer.sourcefind.cn:OpenDAS/megatron-lm.git" did not exist on "a7cce3205aac5d4e0975557530b57e63847eac8f"
Commit cd6d617e authored by simon wu's avatar simon wu Committed by Kai Chen
Browse files

Fix bug of FCOS when image has no positive sample (#1136)

* Fix bug of FCOS when image has no positive sample

* somes changes for fcos
parent cfc3cf0e
...@@ -160,11 +160,11 @@ class FCOSHead(nn.Module): ...@@ -160,11 +160,11 @@ class FCOSHead(nn.Module):
avg_factor=num_pos + num_imgs) # avoid num_pos is 0 avg_factor=num_pos + num_imgs) # avoid num_pos is 0
pos_bbox_preds = flatten_bbox_preds[pos_inds] pos_bbox_preds = flatten_bbox_preds[pos_inds]
pos_bbox_targets = flatten_bbox_targets[pos_inds]
pos_centerness = flatten_centerness[pos_inds] pos_centerness = flatten_centerness[pos_inds]
pos_centerness_targets = self.centerness_target(pos_bbox_targets)
if num_pos > 0: if num_pos > 0:
pos_bbox_targets = flatten_bbox_targets[pos_inds]
pos_centerness_targets = self.centerness_target(pos_bbox_targets)
pos_points = flatten_points[pos_inds] pos_points = flatten_points[pos_inds]
pos_decoded_bbox_preds = distance2bbox(pos_points, pos_bbox_preds) pos_decoded_bbox_preds = distance2bbox(pos_points, pos_bbox_preds)
pos_decoded_target_preds = distance2bbox(pos_points, pos_decoded_target_preds = distance2bbox(pos_points,
...@@ -339,6 +339,9 @@ class FCOSHead(nn.Module): ...@@ -339,6 +339,9 @@ class FCOSHead(nn.Module):
def fcos_target_single(self, gt_bboxes, gt_labels, points, regress_ranges): def fcos_target_single(self, gt_bboxes, gt_labels, points, regress_ranges):
num_points = points.size(0) num_points = points.size(0)
num_gts = gt_labels.size(0) num_gts = gt_labels.size(0)
if num_gts == 0:
return gt_labels.new_zeros(num_points), \
gt_bboxes.new_zeros((num_points, 4))
areas = (gt_bboxes[:, 2] - gt_bboxes[:, 0] + 1) * ( areas = (gt_bboxes[:, 2] - gt_bboxes[:, 0] + 1) * (
gt_bboxes[:, 3] - gt_bboxes[:, 1] + 1) gt_bboxes[:, 3] - gt_bboxes[:, 1] + 1)
......
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