张量是什么?
-
张量:多维数组。
-
张量的属性:
dtype:张量的数据类型
shape:张量的形状
data:被包装的tensor
grad:data的梯度
grad_fn:创建Tensor的Function
requires_grad:指示是否需要梯度
is_leaf:指示是否是叶子节点
device:张量所在设备
张量的创建
torch.tensor(data, dtype=None, device=None, requires_grad=False)
torch.zeros(size)
torch.zeros_like(input) # input需要是一个tensor,输出一个相同shape的tensor
torch.ones()
torch.ones_like()
torch.arange(start=0, end, step=1) # 等差的一维张量
torch.linspace(start=0, end, step=1) # 均分的一维张量
torch.normal(mean, std) # 正态分布
# 在区间[0,1)上,生成均匀分布
torch.rand()
torch.rand_like()
# 在[low,high)上生成整数的均匀分布
torch,randint()
torch.randint_like()
# 张量拼接
torch.cat((a,b), dim=0, out=None)
# 压缩长度为1的维度
torch.squeeze(imput, dim=None, out=None)
# 依据dim扩展维度,长度为1
torch.unsqueeze(input, dim, out=None)
# 张量对应元素相加/减/乘/除
torch.add(a,b)
torch.sub(a,b)
torch.mul(a,b)
torch.div(a,b)