Thank you for the feedback, there was a problem with using BCEWithLogitsLoss with only one output on the neural network and using the loss fuction with a sigmoid (since BCEwithLogitsLoss has the sigmoid function it was actually performing a sigmoid of a sigmoid to calculate the negative log likelihood). Thankfully the community has plenty of examples so I was able to get to the bottom of the issue.