For dropout (there’s even no parameter in dropout), the dropout position is changing when train is True.
For BatchNorm, the train(True) will use the batch norm instead of running_mean and running_var and also running_mean and running_var will also change.