The weightlosses are not properly registered as Parameters.
Wrap the tensors into nn.Parameters and it should work:
class MTLnet(nn.Module):
    def __init__(self):
        super(MTLnet, self).__init__()
        self.weightloss1 = torch.nn.Parameter(torch.FloatTensor([1]))
        self.weightloss2 = torch.nn.Parameter(torch.FloatTensor([1]))
        ...

Also the usage of Variable is deprecated, since Variables and tensors were merged a while ago.
PS: I’ve formatted your code for readability reasons. You can add code snippets using three backticks `