Hi, Everyone
I hope can run a two inputs in multi-tasking learning
Here is the code:
class MTLnet(nn.Module):
def __init__(self):

    super(MTLnet, self).__init__()

    self.sharedlayer = nn.Sequential(

        nn.Linear(feature_size, shared_layer_size),

        nn.ReLU(),

        nn.Dropout()

    )

    self.tower1 = nn.Sequential(

        nn.Linear(shared_layer_size, tower_h1),

        nn.ReLU(),

        nn.Dropout(),

        nn.Linear(tower_h1, tower_h2),

        nn.ReLU(),

        nn.Dropout(),

        nn.Linear(tower_h2, output_size)

    )

    self.tower2 = nn.Sequential(

        nn.Linear(shared_layer_size, tower_h1),

        nn.ReLU(),

        nn.Dropout(),

        nn.Linear(tower_h1, tower_h2),

        nn.ReLU(),

        nn.Dropout(),

        nn.Linear(tower_h2, output_size)

    )    

def forward(self, x1,x2):

    h_shared = self.sharedlayer(x1)

    h_shared = self.sharedlayer(x2)

    out1 = self.tower1(h_shared)

    out2 = self.tower2(h_shared)

    return out1, out2

MTL = MTLnet()
print(MTL)
I am not sure in the forward () part is right.
but the results looks bad.
Does anyone of you know a smart way of solving this issue?