marcellacornia / mlnet

A Deep Multi-Level Network for Saliency Prediction. ICPR 2016
MIT License
94 stars 37 forks source link

can you provide loss value curve ? #17

Open immortal3 opened 5 years ago

immortal3 commented 5 years ago

I am trying to reproduce result in PyTorch but loss already start from 10e-2.

class ModMSELoss(torch.nn.Module):
    def __init__(self,shape_r_gt,shape_c_gt):
        super(ModMSELoss, self).__init__()
        self.shape_r_gt = shape_r_gt
        self.shape_c_gt = shape_c_gt

    def forward(self, output , label):
        output_max = torch.max(torch.max(output,2)[0],2)[0].unsqueeze(2).unsqueeze(2).expand(output.shape[0],output.shape[1],self.shape_r_gt,self.shape_c_gt)
        loss = torch.mean( ((output / output_max) - label)**2 / (1 - label + 0.1))
        return loss

Menotioned Loss is on training data.

Epcohs:0 Images:500 Loss:0.04258342459797859
Epcohs:0 Images:1000 Loss:0.04922671616077423
Epcohs:0 Images:1500 Loss:0.03176497668027878
Epcohs:0 Images:2000 Loss:0.044319380074739456
Epcohs:0 Images:2500 Loss:0.04123256355524063
Epcohs:0 Images:3000 Loss:0.033859699964523315
Epcohs:0 Images:3500 Loss:0.03699108585715294
Epcohs:0 Images:4000 Loss:0.025232627987861633
Epcohs:0 Images:4500 Loss:0.041686929762363434
Epcohs:0 Images:5000 Loss:0.036925509572029114