Solved by ruotianluo in post #6 
              
              
                I understand that. But reset_parameter should just initialize the parameter in place, instead of taking some input and return some output. 
When you define a variable in nn.Module, nn.Module will do something secretly, so the best way to define a parameter is: 
self.xxx = nn.Parameter(some tensor) 
…