Thank you so much for your help! I also tried training a simple mock network last night and came to a similar conclusion: my optimization code is valid, but my actual (not mock) network definition must be faulty in some way. I’d rather not post my network definition classes (classes that inherit from nn.Module) at the moment. I will create mock nn.Module classes to track down which part of my network is causing the bug, and I’ll post again for future readers once I figure it out.