doing multiple output + losses should be straight-forward. In your forward function of the model, you have the variables corresponding to each output, and send them through three separate loss functions.
The outputs of the loss functions can be backpropagated all together using torch.autograd.backward