张量——Pytorch中Tensor的维度,形状,意义

搬运一篇文章!阅读原文

在深度学习里,Tensor实际上就是一个多维数组(multidimensional array)。

而Tensor的目的是能够创造更高维度的矩阵、向量。
对Pytorch中的tensor人工读取维度和形状的时候总是很别扭,故作此文加深一下对tensor维度,形状以及各维度意义的理解
张量——Pytorch中Tensor的维度,形状,意义
对于一维的张量表示行或列向量

对于二维的张量[n,m]表示n行m列的矩阵

对于三维的张量[p,n,m]表示p个切片,每个切片为n行m列的矩阵

对于四维的张量以后的就不知道怎么解释了…
张量——Pytorch中Tensor的维度,形状,意义
张量——Pytorch中Tensor的维度,形状,意义
张量——Pytorch中Tensor的维度,形状,意义
补充另一个博主的理解:

[
    [
         [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开始的

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2022年5月31日 上午11:13
下一篇 2022年5月31日 上午11:15

相关推荐