torch.autograd.Variable的用法

介绍

torch.autograd.Variable 是 PyTorch 中早期版本用于封装张量(Tensor)以支持自动求导的类。然而,从 PyTorch 0.4 开始,Variable 和 Tensor 已经合并,现在直接使用 Tensor 即可完成所有操作,包括自动求导。因此,在现代 PyTorch 中,通常不需要显式使用 Variable。

Variable 的基本用法

在早期版本中,Variable 的用法如下:

创建Variable

from torch.autograd import Variable  
import torch  

# 创建一个普通张量  
x = torch.tensor([1.0, 2.0, 3.0], requires_grad=False)  

# 将张量封装为 Variable  
x_var = Variable(x, requires_grad=True)  # 设置 requires_grad=True 表示需要计算梯度  
print(x_var)

自动求导

Variable 支持自动求导,以下是一个简单的例子:

# 创建一个 Variable  
x = Variable(torch.tensor([2.0]), requires_grad=True)  

# 定义一个简单的函数 y = x^2  
y = x ** 2  

# 反向传播  
y.backward()  

# 查看梯度 dy/dx = 2x  
print(x.grad)  # 输出:tensor([4.])

Modern PyTorch(0.4+)中 Variable 的替代

从 PyTorch 0.4 开始,Variable 和 Tensor 已经合并,现在直接使用 Tensor 即可完成所有操作。

import torch  

# 创建一个张量并启用自动求导  
x = torch.tensor([2.0], requires_grad=True)  

# 定义一个简单的函数 y = x^2  
y = x ** 2  

# 反向传播  
y.backward()  

# 查看梯度 dy/dx = 2x  
print(x.grad)  # 输出:tensor([4.])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值