Softmax with CrossEntropy loss

It seems the cross entropy loss in PyTorch already includes softmax. However in many GAN implementations (e.g. I found that the last layer of the Discriminator includes Softmax. Is it wrong?

The inclusion of softmax is because of taking numerical stability on account.

My question is it necessary to include the softmax in the implementation given in the link (in my question) as the CrossEntropy loss already includes softmax.


This implementation without final softmax layer is correct, I think.