The calculation looks alright, even though you could use torch.argmax(logits, 1), since the predicted class will be the same as with the probabilities using softmax. 
One possible reason for the increasing validation loss would be that the model increases its logits for the wrong classes.