1、维度与形状的区别

当我们说一个向量的维度的时候,我们会说,这是一个1维度向量,2维向量,3维向量等等。在PyTorch中,计算维度是通过向量的形状获取的,如下代码所示:

import torch

input = torch.ones(3, 5)
print(input)

dim = len(input.shape)
print(dim)

2、维度的计数

对于上面的2维input向量,它有两个维度,分别表示为0维和1维。

input向量的外形轮廓是这样的:

tensor([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])

通过外形来看,我们可以知道最外面的中括号为1维,其次为2维。

3、dim=0和dim=1的表示

从俯瞰的角度来看,input向量长这个样子:

从dim=0的角度(横向角度)来看,input向量长这个样子:

从dim=1的角度(纵向角度)来看,input向量长这个样子:

4、sum的理解

首先看一段代码,如下所示:

import torch

input = torch.ones(3, 5)
print(input)

result1 = torch.sum(input, dim=0)
print(result1)

result2 = torch.sum(input, dim=1)
print(result2)

结果为:

tensor([[1., 1., 1., 1., 1.],
        [1., 1., 1., 1., 1.],
        [1., 1., 1., 1., 1.]])
tensor([3., 3., 3., 3., 3.])
tensor([5., 5., 5.])

sum表示求和操作,当dim=0的时候,sum操作是这样执行的:

当dim=1的时候,sum操作是这样执行的: