Hello Frank,
Thanks so much for your detailed explanation. I completely understand what you are saying. Indeed, I should not be using softmax() when using it to compute loss.backward().
Thank you again for your patience explaining a nn to a beginner like me. Cant thank you enough.