Solved by AladdinPerzon in post #2 
              
              
                The role of model.train() and optimizer.zero_grad(), optimizer.step() are a bit different. Some layers behave differently during training vs testing the model. For example dropout and batchnorm layers. That’s why we are careful using .train(), .eval(), as the model performance could worsen considera…