Which criterion are you using?
If you are dealing with a multi-class classification use case, I assume you are using nn.CrossEntropyLoss.
If that’s the case, note that this loss function expects raw logits, since internally F.log_softmax and nn.NLLLoss will be applied, so you should remove the softmax as the last activation function.