Thanks for your suggestion. It really helped 
2 questions, if you don’t mind:

I used binary cross with logits. But then when I wrote my function to find accuracy, I had to take sigmoid of the output of the model. So, isn’t it better to directly put sigmoid or softmax in model itself? When does the reverse become more useful?
Why have functions like sigmoid, tanh have been moved from nn.functional to torch.sigmoid, torch.tanh? Them being inside nn.functional makes kinda more sense intuitively, that functions are inside functional. Pretty sure team pytorch has better reasons than mine