Tensor
- Pytorch的tensor支持GPU加速
- 从接口的角度讲,对tensor的操作可分为两类,一类是torch.function,另一类是tensor.function
- 从存储的角度讲,对tensor的操作可分为两类,一类是不会修改自身的数据,如a.add(b),另一 类是会修改自身的数据,如a.add_(b)。
- 函数名以_结尾都是inplace方式,即会修改调用者自己的数据
- 创建Tensor的方法:
- 导入包
from __future__ import print_function
import torch as t
- 声明tensor
a = t.Tensor(2,3)
a
a的数值取决于内存空间的状态
- 用list的数据创建tensor
b = t.Tensor([[1,2,3],[4,5,6]])
b
- 将tensor转为list
b.tolist()
- 获取tensor的大小
b_size = b.size()
b_size
- 获取元素总数
b.numel()
t.Tensor创建tensor时,系统不会马上分配控件,只会计算剩余的内存是否足够使用,使用到tensor时才会分配内存。
- 通过tensor.view方法可以调整tensor的形状,但必须保证调整前后元素总数一致,view不会修改自身的数据,返回的新tensor与源tensor共享内存,即更改其中一个,另外一个也会跟着改变。
a = t.arange(0,6)
a.view(2,3)
当参数中某一维为-1时,会自动计算它的大小
b = a.view(-1,3)
b
-
使用squeeze方法和unsqueeze方法添加或减少某一维度
-
使用resize修改tensor的尺寸,如果新尺寸超过了原尺寸,会自动分配新的内存空间。
-
Tensor的选择函数
-
逐元素操作
-
归并操作
-
比较函数
-
线性函数