In training mode dropout layers will be activated and batchnorm layers will normalize the input batch using the batch statistics and will also update their internal running stats.
I’m not sure where you’ve called .train() and .eval(), but these operations should be called in the corresponding training and evaluation loops, respectively.