I have trained a denoiser using BFBatchNorm2d. In training, my validation dataset gives me ~37 dB. However, when I load the same model checkpoint and evaluate the network on the same dataset, I get an accuracy of 25 dB.
I am loading the trained model using:
model = model.load_from_checkpoint(checkpoint, strict=True)
My model was originally trained using PytorchLightning and the checkpoint successfully loads the batchnorm weights, running_mean, running_variance and bias (although unused).
I have tried to test with a batch size of 1 and 32 and this does not change things. All other functions are the same as my training code.
Is it possible that extra measure should be taken when loading or evaluating a model which includes BFBatchNorm2d?