updates
This commit is contained in:
parent
cae901c2da
commit
b9fa92d3f7
13
models.py
13
models.py
|
@ -185,18 +185,19 @@ class YOLOLayer(nn.Module):
|
||||||
|
|
||||||
elif ONNX_EXPORT:
|
elif ONNX_EXPORT:
|
||||||
# Constants CAN NOT BE BROADCAST, ensure correct shape!
|
# Constants CAN NOT BE BROADCAST, ensure correct shape!
|
||||||
ngu = self.ng.repeat((1, self.na * self.nx * self.ny, 1))
|
m = self.na * self.nx * self.ny
|
||||||
grid_xy = self.grid_xy.repeat((1, self.na, 1, 1, 1)).view((1, -1, 2))
|
ngu = self.ng.repeat((1, m, 1))
|
||||||
anchor_wh = self.anchor_wh.repeat((1, 1, self.nx, self.ny, 1)).view((1, -1, 2)) / ngu
|
grid_xy = self.grid_xy.repeat((1, self.na, 1, 1, 1)).view(1, m, 2)
|
||||||
|
anchor_wh = self.anchor_wh.repeat((1, 1, self.nx, self.ny, 1)).view(1, m, 2) / ngu
|
||||||
|
|
||||||
p = p.view(-1, 5 + self.nc)
|
p = p.view(m, 5 + self.nc)
|
||||||
xy = torch.sigmoid(p[..., 0:2]) + grid_xy[0] # x, y
|
xy = torch.sigmoid(p[..., 0:2]) + grid_xy[0] # x, y
|
||||||
wh = torch.exp(p[..., 2:4]) * anchor_wh[0] # width, height
|
wh = torch.exp(p[..., 2:4]) * anchor_wh[0] # width, height
|
||||||
p_conf = torch.sigmoid(p[:, 4:5]) # Conf
|
p_conf = torch.sigmoid(p[:, 4:5]) # Conf
|
||||||
p_cls = F.softmax(p[:, 5:85], 1) * p_conf # SSD-like conf
|
p_cls = F.softmax(p[:, 5:85], 1) * p_conf # SSD-like conf
|
||||||
return torch.cat((xy / ngu[0], wh, p_conf, p_cls), 1).t()
|
return torch.cat((xy / ngu[0], wh, p_conf, p_cls), 1).t()
|
||||||
|
|
||||||
# p = p.view(1, -1, 5 + self.nc)
|
# p = p.view(1, m, 5 + self.nc)
|
||||||
# xy = torch.sigmoid(p[..., 0:2]) + grid_xy # x, y
|
# xy = torch.sigmoid(p[..., 0:2]) + grid_xy # x, y
|
||||||
# wh = torch.exp(p[..., 2:4]) * anchor_wh # width, height
|
# wh = torch.exp(p[..., 2:4]) * anchor_wh # width, height
|
||||||
# p_conf = torch.sigmoid(p[..., 4:5]) # Conf
|
# p_conf = torch.sigmoid(p[..., 4:5]) # Conf
|
||||||
|
@ -278,7 +279,7 @@ class Darknet(nn.Module):
|
||||||
elif ONNX_EXPORT:
|
elif ONNX_EXPORT:
|
||||||
output = torch.cat(output, 1) # cat 3 layers 85 x (507, 2028, 8112) to 85 x 10647
|
output = torch.cat(output, 1) # cat 3 layers 85 x (507, 2028, 8112) to 85 x 10647
|
||||||
nc = self.module_list[self.yolo_layers[0]].nc # number of classes
|
nc = self.module_list[self.yolo_layers[0]].nc # number of classes
|
||||||
return output[5:5 + nc].t(), output[:4].t() # ONNX scores, boxes
|
return output[5:5 + nc].t(), output[0:4].t() # ONNX scores, boxes
|
||||||
else:
|
else:
|
||||||
io, p = list(zip(*output)) # inference output, training output
|
io, p = list(zip(*output)) # inference output, training output
|
||||||
return torch.cat(io, 1), p
|
return torch.cat(io, 1), p
|
||||||
|
|
Loading…
Reference in New Issue