(1) Pytorch深度学习—数值处理
(1)Pytorch——数值处理
参考于李沐“动手学深度学习”系列以及网上各路大佬的博客资料,感谢大家的分享,如错改,如侵删。
torch中的数值处理
数值处理是深度学习中极其重要的一部分,张量(tensor)是后续进行处理和计算的基本单位。张量表示一个由数值组成的数组,这个数组可能有多个维度。具有一个轴的张量对应数学上的向量(vector);
具有两个轴的张量对应数学上的矩阵(matrix);具有两个轴以上的张量没有特殊的数学名称。
创建和初始化
话不多说我们直接上代码:
# 张量定义
x = torch.arange(12)
y = torch.zeros((2, 3, 4)) #定义全零/全一张量
z = torch.rand(3, 4) #正态分布随机定义tensor elements
# 改变张量形状
x.reshape(3, 4)
x.reshape(-1, 4) #通过-1可以实现形状的自动计算
tensor同样支持直接的+ - * / 甚至 == 运算符。我们也可以按某个指定轴将tensor联结到一起,代码如下。
X = torch.arange(12)
dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
torch.cat((X, Y), dim=0), torch.cat((X, Y), dim=1)
运行效果如图:
tensor所有元素求和:X.sum()
索引和切片
torch中的索引和切片原则基本和python一致,就不赘述了,如果Python基础不好的同学可以看一下我主页的另一篇Python的博客。
并且,numpy和torch定义的张量相互转换十分便捷:
A =
X.numpy()
B = torch.tensor(A)
标签:tensor,reshape,torch,张量,数值,Pytorch,深度 From: https://blog.csdn.net/weixin_55010563/article/details/143699392