If you’re using nn.CrossEntropyLoss as criterion, do not apply softmax at the end of your network.
nn.CrossEntropy is a combination of nn.LogSoftmax and nn.NLLLoss - which will internally apply softmax and then negative log loss.