diff --git a/utils/util.py b/utils/util.py index 08ea61b..59886c9 100644 --- a/utils/util.py +++ b/utils/util.py @@ -151,7 +151,7 @@ def non_max_suppression(outputs, confidence_threshold=0.001, iou_threshold=0.65) box = wh2xy(box) # (cx, cy, w, h) to (x1, y1, x2, y2) if nc > 1: i, j = (cls > confidence_threshold).nonzero(as_tuple=False).T - x = torch.cat((box[i], x[i, 4 + j, None], j[:, None].float()), dim=1) + x = torch.cat((box[i], x[i, 4 + j].unsqueeze(1), j[:, None].float()), dim=1) else: # best class only conf, j = cls.max(1, keepdim=True) x = torch.cat((box, conf, j.float()), 1)[conf.view(-1) > confidence_threshold] @@ -296,7 +296,8 @@ def compute_ap(tp, conf, output, target, plot=False, names=(), eps=1e-16): # Integrate area under curve x = numpy.linspace(start=0, stop=1, num=101) # 101-point interp (COCO) - ap[ci, j] = numpy.trapz(numpy.interp(x, m_rec, m_pre), x) # integrate + # numpy.trapz is deprecated in numpy 2.0.0 or after version, use numpy.trapezoid instead + ap[ci, j] = numpy.trapezoid(numpy.interp(x, m_rec, m_pre), x) # integrate if plot and j == 0: py.append(numpy.interp(px, m_rec, m_pre)) # precision at mAP@0.5