注:转化为此变量才能进行反向传播,tensor本身不能进行反向传播
Variable可以把输出的Tensor变成一个输入变量,这样梯度就不会回传了。
推荐阅读
import torch
import numpy as np
from torch.autograd import Variable
tensor = torch.FloatTensor([[1, 2],
[3, 4]])
variable = Variable(tensor, requires_grad=True)
# tensor cann't backward but varible may
t_out = torch.mean(tensor * tensor)
v_out = torch.mean(variable * variable)
print(t_out)
print(v_out)
v_out.backward()
# grad values
print(variable.grad)
# variable style is variable but variable.data style is tensor
print(variable.data)
# tensor to numpy
print(variable.data.numpy())



