PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
https://paddlepaddle.github.io/PaddleOCR/
Apache License 2.0
43k stars 7.72k forks source link

PaddleOCR2.7.5 训练到几百回合出现loss>1问题 #13267

Closed 18325391772 closed 2 months ago

18325391772 commented 3 months ago

1720147935352

报错代码: class DiceLoss(nn.Layer): def init(self, eps=1e-6): super(DiceLoss, self).init() self.eps = eps

def forward(self, pred, gt, mask, weights=None):
    """
    DiceLoss function.
    """

    assert pred.shape == gt.shape
    assert pred.shape == mask.shape
    if weights is not None:
        assert weights.shape == mask.shape
        mask = weights * mask
    intersection = paddle.sum(pred * gt * mask)

    union = paddle.sum(pred * mask) + paddle.sum(gt * mask) + self.eps
    loss = 1 - 2.0 * intersection / union
    assert loss <= 1
    return loss
GreatV commented 3 months ago

升级到2.8.0试试,照理说不会出现loss>1的情况