So sorry! I just found the mistake while writing out the losses and outputs, it was an oversight on my part: in eval.py when we build our model with the inference=True argument, it will slap on a softmax layer at the end of the resnet, thereby contributing to the difference in output features when computing the validation losses!
All is good now after fixing that part. Thank you for your reply!