From 8f0984817da455e4dd14c2281d669e04fdafee7d Mon Sep 17 00:00:00 2001 From: wa22 Date: Thu, 30 May 2024 15:46:06 +0800 Subject: [PATCH] fix val with half --- ultralytics/utils/metrics.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ultralytics/utils/metrics.py b/ultralytics/utils/metrics.py index 235db567..b5988110 100644 --- a/ultralytics/utils/metrics.py +++ b/ultralytics/utils/metrics.py @@ -64,6 +64,9 @@ def box_iou(box1, box2, eps=1e-7): (torch.Tensor): An NxM tensor containing the pairwise IoU values for every element in box1 and box2. """ + # NOTE: need float32 to get accurate iou values + box1 = torch.as_tensor(box1, dtype=torch.float32) + box2 = torch.as_tensor(box2, dtype=torch.float32) # inter(N,M) = (rb(N,M,2) - lt(N,M,2)).clamp(0).prod(2) (a1, a2), (b1, b2) = box1.unsqueeze(1).chunk(2, 2), box2.unsqueeze(0).chunk(2, 2) inter = (torch.min(a2, b2) - torch.max(a1, b1)).clamp_(0).prod(2)