In general I would suggest to use .train() and .eval() always as a good coding style, so that you won’t run into future errors, even if your current model doesn’t have any layers depending on this flag.
Usually you call model.train() before you iterate your train dataset, i.e. before the first forward pass. The same goes for the model.eval() call.
Have a look at the train() and test() functions in the MNIST example 14.