@ptrblck Thanks, the comment on the softmax re: logits was very helpful. Apologies for weak description on my problem. My model is training better now.
My biggest problem at the moment is that the layers in _hidden() are not added to the model when I call the model children, despite it being included in the forward function.