Solved by ptrblck in post #4 
              
              
                Thanks for the code! 
Could you remove the last softmax call from your model? 
nn.CrossEntropyLoss expects logits as the model’s output, since internally F.log_softmax and nn.NLLLoss will be used. 
Your model should thus just return self.fc3(x) without and non-linearity.