在numpy库中,经常会出现“秩为1的一维数组”(come from 吴恩达的深度学习,目前还没有搞清楚numpy中如此设计的意图)。比如:
>>> a = torch.rand(3)
>>> a.shape
torch.Size([3])
注意这里的a的shape是[3] ,既不是 [1,3] 也不是 [3,1]。这就说明它既不是行向量也不是列向量,只是一个数组。
但是我们可以用squeeze()和unsqueeze()对其进行操作,比如:
>>> a = torch.rand(3)
>>> a.shape
torch.Size([3])
>>> b = a.unsqueeze(1)
>>> b.shape
torch.Size([3