1.首先导入Pytorch:
import torch
2.创建张量
#【1】不初始化
x = torch.empty(5, 3)
#【2】随机初始化
x = torch.rand(5, 3)#0-1之间的数
#【3】全零,指定数据类型
x = torch.zeros(5, 3, dtype=torch.long)
#【4】直接根据数据创建
x = torch.tensor([5.5, 3])
#【5】通过现有的Tensor来创建
x = x.new_ones(5, 3, dtype=torch.float64) # 返回的tensor默认具有相同的torch.dtype和torch.device
x = torch.randn_like(x, dtype=torch.float) # 此方法会默认重用输入Tensor的一些属性,例如数据类型,除非自定义数据类型。
3.获取张量属性
print(x.size())#返回的torch.Size其实就是一个tuple, 支持所有tuple的操作
print(x.shape)
torch.Size([5, 3])
4.创建张量函数总结
函数 | 功能 |
---|---|
Tensor(*sizes) | 基础构造函数 |
tensor(data,) | 类似np.array的构造函数 |
ones(*sizes) | 全1Tensor |
zeros(*sizes) | 全0Tensor |
eye(*sizes) | 对角线为1,其他为0 |
arange(s,e,step) | 从s到e,步长为step |
linspace(s,e,steps) | 从s到e,均匀切分成steps份 |
rand/randn(*sizes) | 均匀/标准分布 |
normal(mean,std)/uniform(from,to) | 正态分布/均匀分布 |
randperm(m) | 随机排列 |
这些创建方法都可以在创建的时候指定数据类型dtype
和存放device
(cpu/gpu)。