诚之和:pytorch Variable与Tensor合并后 requires_grad()默认与修改方式

PyTorch更新后Tensor与Variable合为一体,Tensor默认requires_grad=False,可使用xxx.requires_grad_()修改。Tensor可直接创建并进行反向传播。官方文档示例展示了创建Tensor并指定requires_grad=True的方式。此外,讨论了在Backward过程中排除子图以优化计算效率,解释了requires_grad和volatile参数的作用。
摘要由CSDN通过智能技术生成

pytorch更新完后Variable与Tensor合并了。现在torch.Tensor()能像Variable一样进行反向传播的更新,返回值为Tensor,Variable自动创建tensor,且返回值为Tensor,(所以以后不需要再用Variable)。Tensor创建后,默认requires_grad=Flase,可以通过xxx.requires_grad_()将默认的Flase修改为True。来看看官方文档是怎么介绍的吧。

下面附代码及官方文档代码:

import torch
from torch.autograd import Variable #使用Variabl必须调用库
lis=torch.range(1,6).reshape((-1,3))#创建1~6 形状 
#行不指定(-1意为由计算机自己计算)列为3的floattensor矩阵

print(lis)
print(lis.requires_grad) #查看默认的requires_grad是否是Flase

lis.requires_grad_() #使用.requires_grad_()修改默认requires_grad为true
print(lis.requires_grad)

结果如下:

tensor([[1., 2., 3.],
[4., 5., 6.]])
False
True

创建一个Variable,Variable必须接收Tensor数据 不能直接写为 a=Variable(range(6)).reshape((-1,3))

否则报错 Variable data has to be a tensor, but got range

正确如下:

import torch
from torch.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_45378258

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值