Variable变量(三)

本文介绍了PyTorch中Variable的弃用,转而使用torch.tensor()创建可自动计算梯度的Tensor。Variable曾用于存储可变值和进行反向传播,但现在推荐直接使用Tensor,附带参考链接供进一步学习。
摘要由CSDN通过智能技术生成

目前官方已经弃用variable了,利用torch.autograd.Variable()生成variable对象并进行反向传播已经是过去式了。现在直接使用torch.tensor()就搞定了,可以在创建tensor时设置requires_grad=True。因此,下面并没有对variable变量进行过多的介绍,想了解就了解一下,可以结合下面的参考文章,不看也行。
  pytorch中有两个基本对象:Tensor(张量)和Variable(变量)。Variable字面意思为可变的、变量,也就是说它里面存放的是可以变化的量,符合反向传播,参数更新的属性。具体而言,pytorch中存放变化值的地理位置(地址),里面的值是不停变化的。pytorch都是由tensor计算的,而tensor里面的参数是variable形式。

import torch
from torch.autograd import Variable
torch.autograd.Variable()
tensor = torch.tensor([[1, 3], [2, 4]], dtype=float)
variable = Variable(tensor, requires_grad=True)
print(f"tensor:{tensor}")
print(f"variable:{variable}")

print(variable.data)  # 查看变量variable中的原始tensor数据
print(variable.grad)  # 计算变量variable的梯度。由于上面并没有进行反向传播,所以输出None。

输出:
tensor:tensor([[1., 3.],
        [2., 4.]], dtype=torch.float64)
variable:tensor([[1., 3.],
        [2., 4.]], dtype=torch.float64, requires_grad=True)
tensor([[1., 3.],
        [2., 4.]], dtype=torch.float64)
None

参考文章
Pytorch的Variable详解
Pytorch入坑二:autograd 及Variable
浅谈Pytorch中的Variable的使用方法

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值