My model outputs same values after loading the checkpoint

Hi. I’m implementing C-Net model from GitHub - microsoft/Deep3DFaceReconstruction: Accurate 3D Face Reconstruction with Weakly-Supervised Learning: From Single Image to Image Set (CVPRW 2019).
In that paper, C-Net is a CNN based model.
In the process of implementing this, when training the model, Confidence was output differently for each image in the image set.


Right figure is histogram for every image-set.
The dimension of the output of C-Net is (N, 100), where N is the number of images in the image set.

I saved the model checkpoint using :
checkpoint_path = f’./weights/{args.name}_{epoch}.tar’
torch.save({
‘epoch’: epoch,
‘model_state_dict’: C_Net.state_dict(),
‘optimizer_state_dict’: optimizer.state_dict(),
‘loss’: loss,
}, checkpoint_path)
When I loaded the checkpoint to train the model further and/or evaluate it on the test set, it outputs the same value for all images. (Left figure in image)
(Model.eval() was used to evaluate the model, and model.train() was used for further training.)
Output for all images, with half of the 100 dimensions being 0 and the rest being 1. (Sigmoid used)
There is no BN layer or dropout in C-Net.
I made sure the weights and biases are loaded correctly after the checkpoint load.

Does anyone have a similar issue or know the cause?
If anyone knows, please help.
Thank you.