You are most likely seeing some floating point precision issues.
That being said, note that nn.CrossEntropyLoss expects logits, as internally F.log_softmax and nn.NLLLoss will be applied, so you should remove the softmax for this criterion.