Variable详解

Variable(变量)

目前官方已经弃用variable了,tensor可以直接设置requires_grad=True

来源: torch.autograd.Variable()

(一)特点

  • variable是一种可以不断变化的变量,符合反向传播,自动求导、参数更新的属性,除此之外和tensor没有本质区别。
  • 可通torch_data(torch_data) 进行tensor到Variable的转换
  • variable默认不被求导 (requires_grad属性默认为False)

(二)组成属性

  • data : 得到对象的tensor数值
  • grad : 得到反向传播梯度
  • requires_grad :是否需要求梯度

(三)代码展示

from torch.autograd import Variable  
  
x = Variable(torch.Tensor([3]), requires_grad=True)  
a = Variable(torch.Tensor([5]), requires_grad=True)  
bias = Variable(torch.Tensor([9]), requires_grad=True)  
c = Variable(torch.Tensor([12]), requires_grad=False) # 设置一个不需求导做对比  
# 构建一个计算图  
y = a * x + bias * c  # y = a * x + bias * c= 5 * 3 + 9 * 12  
# 反向传播  
y.backward()  # same as y.backward(torch.FloatTensor([i]))  
  
print(x.data, x.grad, x.requires_grad)  # tensor([3.]) tensor([5.]) True  
print(a.data, a.grad, a.requires_grad)  # tensor([5.]) tensor([3.]) True  
print(bias.data, bias.grad, bias.requires_grad)  # tensor([9.]) tensor([12.]) True  
print(c.data, c.grad, c.requires_grad)  # tensor([12.]) None False
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值