搬运一篇文章!阅读原文
在深度学习里,Tensor实际上就是一个多维数组(multidimensional array)。
而Tensor的目的是能够创造更高维度的矩阵、向量。
对Pytorch中的tensor人工读取维度和形状的时候总是很别扭,故作此文加深一下对tensor维度,形状以及各维度意义的理解
对于一维的张量表示行或列向量
对于二维的张量[n,m]表示n行m列的矩阵
对于三维的张量[p,n,m]表示p个切片,每个切片为n行m列的矩阵
对于四维的张量以后的就不知道怎么解释了…
补充另一个博主的理解:
[[[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]],
[[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]]]
我们可以看到:
第一层(最外层)中括号里面包含了两对中括号(以逗号进行分割),这就是(2,3,4)中的2
第二层中括号里面包含了三对中括号(以逗号进行分割),这就是(2,3,4)中的3
第三层中括号里面包含了四个数(以逗号进行分割),这就是(2,3,4)中的4
结论:pytorch中的tensor维度可以通过第一个数前面的中括号数量来判断,有几个中括号维度就是多少。拿到一个维度很高的向量,将最外层的中括号去掉,数最外层逗号的个数,逗号个数加一就是最高维度的维数,如此循环,直到全部解析完毕。
我们还看到:
z.size(0) = 2,z.size(1) = 3,z.size(2) = 4
第0维度为2,第1维度为3,第2维度为4,即维度的标号是以0开始的
版权归原作者 Discipline※ 所有, 如有侵权,请联系我们删除。