If self.features contains e.g. batchnorm layers, you would update the running statistics three times in model2, which might improve the training accuracy.
Let me know, if that’s not the case and we can dig a bit deeper.