For your example,
net_1 = Net_1(hidden_dim)
net_2 = Net_2(hidden_dim)
# HERE TRAIN net_1
...
# HERE TRAIN net_2
...

# after training net_1 and net_2
net_1_params = net_1.state_dict()
net_2_params = net_2.state_dict()
assert not (net_1_params.keys() & net_2_params.keys())  # IMPORTANT
net_1_params.update(net_2_params)
final_net = Final_Net(hidden_dim)
final_net.load_state_dict(net_1_params)

NOTE: NOT ALWAYS WORK