There is a self-defined nn.Module with nn.Parameter and Variable as model parameters, such as：
Class TestModule(nn.Module):
def init(self):
self.weight = nn.Parameter(torch.rand(3,3))
self. fw = Variable(torch.rand(3,3))
 def forward(self, x):
       --other computions with fw and weight 

So what is the difference of Variable and nn.Parameter when the Module backwards?