Calculate the running accuracy during training and calculate the validation accuracy after each training epoch. This should give you a good signal of your model performance.


nn.BCEWithLogitsLoss is theoretically equal to nn.BCELoss + torch.sigmoid, but the former approach is numerically more stable.


Not sure and it depends on your model as well as the loss curves. E.g. if your model is overfitting, increase the regularization. If it’s underfitting add more capacity to it. Since it seems you have to stick to a specific architecture, your options might be limited.