Pytorch 0.4 更新学习笔记

本文是关于Pytorch 0.4版本的重要更新学习笔记,主要包括Tensor与Variable的融合,不再需要单独使用Variable,现在Tensor自身可以追踪计算图;弃用了volatile,改用torch.no_grad()或torch.set_grad_enabled()来控制是否构建计算图;另外介绍了新增的三个类torch.dtype、torch.device和torch.layout,用于更精确地操作Tensor的数据类型、设备位置和布局。
摘要由CSDN通过智能技术生成

一.Tensor 和 Variable合并为Tensor。

    Tensor可以追踪计算图。所以没必要使用Variable了。

    type(x) -> x.type()

    使用detach()来获取Tensor的数值。

二.弃用volatile

    使用torch.no_grad()/torch.set_grad_enabled(grad_mode)来屏蔽计算图。

>>> x = torch.zeros(1, requires_grad=True)
>>> with torch.no_grad():
...     y = x * 2
>>> y.requires_grad
False
>>>
>>> is_train = False
>>> with torch.set_grad_enabled(is_train):
...     y = x * 2
>>> y.requires_grad
False

三.三个类torch.dtype/torch.device/torch.layout

    torch.dtype(使用Tensor的的dtype属性获取数据类型)

Data typetorch.dtypeTensor types
32-bit floating pointtorch.float32 or torch.floattorch.*.FloatTensor
64-bit floating pointtorch.float64 or torch.doubletorch.*.DoubleTensor
16-bit floating pointtorch.float16 or torch.halftorch.*.HalfTensor
8-bit integer (unsigned)torch.uint8torch.*.ByteTensor
8-bit integer (signed)torch.int8torch.*.CharTensor
16-bit integer (signed)torch.int16 or torch.shorttorch.*.ShortTensor
32-bit integer (signed)torch.int32 or torch.inttorch.*.IntTensor
64-bit integer (signed)torch.int64 or torch.longtorch.*.LongTensor

    torch.device(使用Tensor的device属性获取Tensor的位置,cpu或gpu)

    torch.device('cpu')/torch.device('cuda')

    创建Tensor的方法

>>> device = torch.device("cuda:1")
>>> x = torch.randn(3, 3, dtype=torch.float64, device=device

>>> cuda = torch.device("cuda")
>>> torch.tensor([[1], [2], [3]], dtype=torch.half, device=cuda)
 >>> x = torch.randn(3, dtype=torch.float64)
 >>> torch.zeros_like(x)
 tensor([ 0.,  0.,  0.], dtype=torch.float64)
 >>> x = torch.randn(3, dtype=torch.float64)
 >>> x.new_ones(2)
 tensor([ 1.,  1.], dtype=torch.float64)
目前有用的是这些。其他的以后有需要再补充
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值