Machine-Learning-Collection icon indicating copy to clipboard operation
Machine-Learning-Collection copied to clipboard

YOLO v1 loss

Open curry0505 opened this issue 2 years ago • 0 comments

    `object_loss = self.mse(
        torch.flatten(exists_box * pred_box),
        torch.flatten(exists_box * target[..., 20:21]),
    )

    # ======================= #
    #   FOR NO OBJECT LOSS    #
    # ======================= #

    #max_no_obj = torch.max(predictions[..., 20:21], predictions[..., 25:26])
    #no_object_loss = self.mse(
    #    torch.flatten((1 - exists_box) * max_no_obj, start_dim=1),
    #    torch.flatten((1 - exists_box) * target[..., 20:21], start_dim=1),
    #)

    no_object_loss = self.mse(
        torch.flatten((1 - exists_box) * predictions[..., 20:21], start_dim=1),
        torch.flatten((1 - exists_box) * target[..., 20:21], start_dim=1),
    )

    no_object_loss += self.mse(
        torch.flatten((1 - exists_box) * predictions[..., 25:26], start_dim=1),
        torch.flatten((1 - exists_box) * target[..., 20:21], start_dim=1)
    )`

https://github.com/aladdinpersson/Machine-Learning-Collection/blob/558557c7989f0b10fee6e8d8f953d7269ae43d4f/ML/Pytorch/object_detection/YOLO/loss.py#L83C1-L106C10

Why does object_loss not use start_dim, while no_object_loss does? Whether or not no_object_loss uses start_dim, the result is the same.

curry0505 avatar Sep 19 '23 08:09 curry0505