Contradiction between Val_loss and Val_PSNR

I have a question about the EDSR code (it’s a single image super resolution method). Why there’s a contradiction between Val_loss and Val_PSNR in training? in some epochs, from one epoch to the next epoch when Val_loss decreases, we expect Val_PSNR to increase, but this does not happen and vice versa. Is this normal? what’s the reason? If not, what is the solution?

I tried to implement PSNR and Loss function (mae) in such a way that they are compatible with each other, but The problem was not solved.

@ptrblck I will be glad to know your opinion.

ps: My code is not in Pythorch. I just want to know your opinion, thank you :blush: