Update Detect() grid init for loop (#9494)
May resolve threaded inference issue in https://github.com/ultralytics/yolov5/pull/9425#issuecomment-1250802928 by avoiding memory sharing on init. Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
This commit is contained in:
1 parent
f038ad7172
commit
868c0e9bbb
1 file changed
+2
-2
+2
-2
@@ -47,8 +47,8 @@ class Detect(nn.Module):
|
|||||||
self.no = nc + 5 # number of outputs per anchor
|
self.no = nc + 5 # number of outputs per anchor
|
||||||
self.nl = len(anchors) # number of detection layers
|
self.nl = len(anchors) # number of detection layers
|
||||||
self.na = len(anchors[0]) // 2 # number of anchors
|
self.na = len(anchors[0]) // 2 # number of anchors
|
||||||
self.grid = [torch.empty(1)] * self.nl # init grid
|
self.grid = [torch.empty(0) for _ in range(self.nl)] # init grid
|
||||||
self.anchor_grid = [torch.empty(1)] * self.nl # init anchor grid
|
self.anchor_grid = [torch.empty(0) for _ in range(self.nl)] # init anchor grid
|
||||||
self.register_buffer('anchors', torch.tensor(anchors).float().view(self.nl, -1, 2)) # shape(nl,na,2)
|
self.register_buffer('anchors', torch.tensor(anchors).float().view(self.nl, -1, 2)) # shape(nl,na,2)
|
||||||
self.m = nn.ModuleList(nn.Conv2d(x, self.no * self.na, 1) for x in ch) # output conv
|
self.m = nn.ModuleList(nn.Conv2d(x, self.no * self.na, 1) for x in ch) # output conv
|
||||||
self.inplace = inplace # use inplace ops (e.g. slice assignment)
|
self.inplace = inplace # use inplace ops (e.g. slice assignment)
|
||||||
|
|||||||
Reference in new issue
Block a user