1
1
import math
2
2
3
+ import mmcv
3
4
import torch
4
5
import torch .nn as nn
5
6
8
9
from .utils import weighted_loss
9
10
10
11
12
+ @mmcv .jit (derivate = True , coderize = True )
11
13
@weighted_loss
12
14
def iou_loss (pred , target , linear = False , eps = 1e-6 ):
13
15
"""IoU loss.
@@ -34,6 +36,7 @@ def iou_loss(pred, target, linear=False, eps=1e-6):
34
36
return loss
35
37
36
38
39
+ @mmcv .jit (derivate = True , coderize = True )
37
40
@weighted_loss
38
41
def bounded_iou_loss (pred , target , beta = 0.2 , eps = 1e-3 ):
39
42
"""BIoULoss.
@@ -79,6 +82,7 @@ def bounded_iou_loss(pred, target, beta=0.2, eps=1e-3):
79
82
return loss
80
83
81
84
85
+ @mmcv .jit (derivate = True , coderize = True )
82
86
@weighted_loss
83
87
def giou_loss (pred , target , eps = 1e-7 ):
84
88
r"""`Generalized Intersection over Union: A Metric and A Loss for Bounding
@@ -98,6 +102,7 @@ def giou_loss(pred, target, eps=1e-7):
98
102
return loss
99
103
100
104
105
+ @mmcv .jit (derivate = True , coderize = True )
101
106
@weighted_loss
102
107
def diou_loss (pred , target , eps = 1e-7 ):
103
108
r"""`Implementation of Distance-IoU Loss: Faster and Better
@@ -152,6 +157,7 @@ def diou_loss(pred, target, eps=1e-7):
152
157
return loss
153
158
154
159
160
+ @mmcv .jit (derivate = True , coderize = True )
155
161
@weighted_loss
156
162
def ciou_loss (pred , target , eps = 1e-7 ):
157
163
r"""`Implementation of paper `Enhancing Geometric Factors into
0 commit comments