6. Rank, Axes, And Shape Explained - Tensors For Deep Learning
这一节课将深入介绍Tensor,介绍Tensor的三个基本属性秩、轴和形状。
所有的秩、轴和形状与索引的概念有本质上的区联系。
张量的秩(Rank)
张量的秩指的是张量中存在的维数,假设我们有一个秩(rank)为2的Tensor,这将意味着我们有一个矩阵,有一个二位数组,有一个二维张量。
那么秩告诉我们什么信息呢?
一个张量的秩告诉我们需要多少个索引来访问或引用张量数据结构中包含的特定数据元素。
张量的轴(Axes)
一个张量的轴是一个张量的一个特定的维数,如果我们说一个张量是一个二阶张量,我们意思是张量有两个维度,或者说张量有两个轴,元素被认为是存在的或者沿着一个轴运动,这个运动会受到每个轴长度的限制。每个轴的长度告诉我们沿轴有多少个索引。
假设我们有一个t的张量,第一个轴的长度为3,第二个轴的长度为4,对于第一个轴索引只能是012,第二个轴索引为0123.
举一个例子
创建了一个Tensor
dd = [
[1,2,3],
[4,5,6],
[7,8,9]
]
第一个轴上的每个元素都是数组
dd[0]
[1, 2, 3]
dd[1]
[4, 5, 6]
dd[2]
[7, 8, 9]
第二个轴上的每个元素都是数字
对于张量来说,最后一个轴的元素总是数字,每一个轴包含一个N维数组,这个概念可以概括为任何n维张量,所以一个张量的秩告诉我们一个张量有多少轴,在这些轴的长度中,我们得到了一个非常重要的概念就是张量的形状。
张量的形状(Shape)
张量的形状是由每个轴的长度决定的,所以如果我们知道一个给定张量的形状那么我们就知道每个轴的长度,这告诉我们每个轴上有多少索引
下面这个例子我们先创建了一个数组,把他给Tensor,它的形状是3×3的
注意:Pytorch中torch.size和torch.shape代表的含义是一样的
3×3的形状告诉我们这个秩为2的张量的每一个轴的长度是3,每个轴上都有3个索引,这个形状也揭示了一个张量的秩
简单的张量重塑:我们把之前t重塑成1乘9的形状,第一个轴的长度是1,第二个轴的长度是9,重塑的时候元素的个数要对应