MLP = Linear layer followed by activation, right?
Use slicing to select parts of the Linear output, apply activations, then recombine using torch.cat
linear_out = self.linear(x) # shape is (batches, features)
first_slice = linear_out[:,0:split_point]
second_slice = linear_out[:,split_point:]
tuple_of_activated_parts = (
    F.relu(first_slice),
    F.tanh(second_slice)
)
out = torch.cat(tuple_of_activated_parts, dim=1) # concatenate over feature dimension