Thanks a lot. I get it. I found a small difference for 0.3.1 and 0.4.1
0.3.1:



a = Variable(torch.randn(3,3)).cuda()
a.is_leaf
False



0.4.1:



a = Variable(torch.randn(3,3)).cuda()
a.is_leaf
True
Seem that it is more reasonable because the default value of requires_grad of Variable is False.