I was calculating the loss wrong. Now I’m doing epoch_loss / len(dataloader) and can actually see that the loss is decreasing, albeit slowly. I also added a categorical accuracy function I found somewhere to check my accuracy, and the accuracy is increasing, so I guess everything is OK  Thanks for all your help!