This is what I have so far:
input_size_prot = 1024
input_size_comp = 196
hidden_size_prot = 32
hidden_size_all = 20
output_size = 1
batch_size = 80
class pcNet(nn.Module):
def __init__(self, input_size_prot, input_size_comp, hidden_size_prot, hidden_size_all, output_size):
    super(pcNet, self).__init__()
    self.fc_prot = nn.Linear(input_size_prot, hidden_size_prot)
    self.fc_all  = nn.Linear(hidden_size_prot+input_size_comp, hidden_size_all)
    self.fc2     = nn.Linear(hidden_size_all, output_size)

def forward(self, x):
    out = F.leaky_relu(self.fc_prot(x[0]))
    out = torch.cat((out, x[1]), 0) #here lies the problem
    out = F.leaky_relu(self.fc_all(out)) 
    out = F.relu(self.fc2(out))
    return out

So x is a list of two tensors. The first has 1024 elements and gets compressed to 32 nodes, which I now try to combine with the second tensor in x. Currently I get the following error:
RuntimeError: Sizes of tensors must match except in dimension 0. Got 32 and 196 in dimension 1