Pytorch更新到0.4后,有一些比较重大的更新,也开始支持Windows系统,可以说是许多人的福音了。
而原先0.2 0.3版本的代码需要稍微修改一下才能继续用
主要变化
1.Variable并入Tensor
无需再import torch.autograd.Variable,Tensor直接可以计算梯度
(当然使用继续使用Variable并没有关系,用法功能都同往常,除了返回对象变成了Tensor类型)
requires_grad等属性也并入tensor
>>> x = torch.ones(1) # 创建一个tensor时默认 requires_grad=False
>>> x.requires_grad
False
# 可以使用 tensor.requeires_grad_() 来改变该标记(缺省为True)
>>> existing_tensor.requires_grad_()
>>> existing_tensor.requires_grad
True
# 实际例子
# 老版本 v0.3
for step, data in enumerate(data_loader, 1):
x, y = data
x = Variable(x)
y = Variable(y)
# 新版本 v0.4
for step, data in enumerate(data_loader, 1):
x, y = data # 这样就ok了
2.type()的更变
Tensor的type()不再反映数据类型。而是使用isinstance()或x.type()替代
>>> x = torch.DoubleTensor([