Simplify autoshape() post-process (#1603)

* Simplify autoshape() post-process

* cleanup
This commit is contained in:
Glenn Jocher
2020-12-09 07:43:58 -08:00
committed by GitHub
parent 6b1fe3e9dd
commit 61fb2dbd20
4 changed files with 7 additions and 8 deletions
+3 -4
View File
@@ -167,8 +167,7 @@ class autoShape(nn.Module):
# Post-process
for i in batch:
if y[i] is not None:
y[i][:, :4] = scale_coords(shape1, y[i][:, :4], shape0[i])
scale_coords(shape1, y[i][:, :4], shape0[i])
return Detections(imgs, y, self.names)
@@ -177,13 +176,13 @@ class Detections:
# detections class for YOLOv5 inference results
def __init__(self, imgs, pred, names=None):
super(Detections, self).__init__()
d = pred[0].device # device
gn = [torch.tensor([*[im.shape[i] for i in [1, 0, 1, 0]], 1., 1.], device=d) for im in imgs] # normalizations
self.imgs = imgs # list of images as numpy arrays
self.pred = pred # list of tensors pred[0] = (xyxy, conf, cls)
self.names = names # class names
self.xyxy = pred # xyxy pixels
self.xywh = [xyxy2xywh(x) for x in pred] # xywh pixels
d = pred[0].device # device
gn = [torch.tensor([*[im.shape[i] for i in [1, 0, 1, 0]], 1., 1.], device=d) for im in imgs] # normalizations
self.xyxyn = [x / g for x, g in zip(self.xyxy, gn)] # xyxy normalized
self.xywhn = [x / g for x, g in zip(self.xywh, gn)] # xywh normalized
self.n = len(self.pred)