Hi, I am following this procedure:

Train a network with train.py, and save the model with torch.save(model.state_dict(), 'model.pth')

Next I load the model in classify.py with model.load_state_dict(torch.load(opt.model)) and set model.eval().

However, now I notice the model gives entirely different results if I call .eval() or not. The model includes a couple of BatchNorm2d and Dropout layers, and performs fine without calling .eval(), but I was hoping for a slight improvement in performance with .eval() activated. What are thinks to look out for when encountering this problem?