This function modifies the parameters of the module named s1
,..sn
(if they exist) so that they are shared with (pointers to) the parameters with the same names in the given module mlp
.
The parameters have to be Tensors. This function is typically used if you want to have modules that share the same weights or biases.
Note that this function if called on a Container module will share the same parameters for all the contained modules as well.
Example:
-- make an mlp mlp1=nn.Sequential(); mlp1:add(nn.Linear(100,10)); -- make a second mlp mlp2=nn.Sequential(); mlp2:add(nn.Linear(100,10)); -- the second mlp shares the bias of the first mlp2:share(mlp1,'bias'); -- we change the bias of the first mlp1:get(1).bias[1]=99; -- and see that the second one's bias has also changed.. print(mlp2:get(1).bias[1])