一、张量 Tensor 数据类型8种
tensor数据类型:3个浮点类型(16,32,64)5个整型(16,32,64,8u+8)整数
Data type | dtype | CPU tensor | GPU tensor |
---|
16-bit floating point | torch.float16 or torch.half | torch.HalfTensor | torch.cuda.HalfTensor |
32-bit floating point | torch.float32 or torch.float | torch.FloatTensor | torch.cuda.FloatTensor |
64-bit floating point | torch.float64 or torch.double | torch.DoubleTensor | torch.cuda.DoubleTensor |
8-bit integer(unsigned) | torch.uint8 | torch.ByteTensor | torch.cuda.ByteTensor |
8-bit integer(signed) | torch.int8 | torch.CharTensor | torch.cuda.CharTensor |
16-bit integer(signed) | torch.int16 or torch.short | torch.ShortTensor | torch.cuda.ShortTensor |
32-bit integer(signed) | torch.int32 or torch.int | torch.IntTensor | torch.cuda.IntTensor |
64-bit integer(signed) | torch.int64 or torch.long | torch.LongTensor | torch.cuda.LongTensor |
二、创建 Tensor
方法名 | 说明 |
---|
Tensor() | 直接从参数构造张量,支持list和numpy数组 |
eye(row,column) | 创建指定行数&列数的单位tensor(单位阵) |
linspace(start,end,count) | 在[s,e]上创建c个元素的一维tensor |
logspace(start,end,count) | 在[10s,10e]上创建c个元素的一维tensor |
ones(size) | 返回指定shape的tensor,元素初始值为1 |
zeros(size) | 返回指定shape的tensor,元素初始值为0 |
ones_like(t) | 返回一个tensor,shape与t相同,且元素初始值为1 |
zeros_like(t) | 返回一个tensor,shape与t相同,且元素初始值为1 |
arange(s,e,sep) | 在区间[s,e)上以间隔sep生成一个序列张量 |
三、API of Tensor
方法名 | 作用 |
---|
size() | 返回张量的shape |
numel() | 计算tensor的元素个数 |
view(shape) | 修改tensor的shape,与np.reshape相似,view返回的是对象的共享内存 |
resize | 类似于view,但在size超出时会重新分配内存空间 |
item | 若为单元素tensor,则返回python的scalar |
from_numpy | 从numpy数据填充 |
numpy | 返回ndarray类型 |