Update loss.py with `if self.gr < 1:` (#7087)
Browse files* Update loss.py with `if self.gr < 1:`
* Update loss.py
- utils/loss.py +6 -4
utils/loss.py
CHANGED
@@ -139,11 +139,13 @@ class ComputeLoss:
|
|
139 |
lbox += (1.0 - iou).mean() # iou loss
|
140 |
|
141 |
# Objectness
|
142 |
-
|
143 |
if self.sort_obj_iou:
|
144 |
-
|
145 |
-
b, a, gj, gi,
|
146 |
-
|
|
|
|
|
147 |
|
148 |
# Classification
|
149 |
if self.nc > 1: # cls loss (only if multiple classes)
|
|
|
139 |
lbox += (1.0 - iou).mean() # iou loss
|
140 |
|
141 |
# Objectness
|
142 |
+
iou = iou.detach().clamp(0).type(tobj.dtype)
|
143 |
if self.sort_obj_iou:
|
144 |
+
j = iou.argsort()
|
145 |
+
b, a, gj, gi, iou = b[j], a[j], gj[j], gi[j], iou[j]
|
146 |
+
if self.gr < 1:
|
147 |
+
iou = (1.0 - self.gr) + self.gr * iou
|
148 |
+
tobj[b, a, gj, gi] = iou # iou ratio
|
149 |
|
150 |
# Classification
|
151 |
if self.nc > 1: # cls loss (only if multiple classes)
|