* Update cls bias init Increased numerical precision. Returns 1.0 probability for single-class datasets now. Addresses https://github.com/ultralytics/yolov5/issues/5357 ```python torch.sigmoid(torch.tensor([math.log(0.6 / (1 - 0.99999))])) Out[19]: tensor([1.0000]) ``` * Update yolo.pymodifyDataloader
@@ -201,7 +201,7 @@ class Model(nn.Module): | |||
for mi, s in zip(m.m, m.stride): # from | |||
b = mi.bias.view(m.na, -1) # conv.bias(255) to (3,85) | |||
b.data[:, 4] += math.log(8 / (640 / s) ** 2) # obj (8 objects per 640 image) | |||
b.data[:, 5:] += math.log(0.6 / (m.nc - 0.99)) if cf is None else torch.log(cf / cf.sum()) # cls | |||
b.data[:, 5:] += math.log(0.6 / (m.nc - 0.999999)) if cf is None else torch.log(cf / cf.sum()) # cls | |||
mi.bias = torch.nn.Parameter(b.view(-1), requires_grad=True) | |||
def _print_biases(self): |