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操作是这样执行的: