squeeze就是压缩(维度减少,降维)
unsqueeze就是扩充(维度增加,升维)
(1)降维 squeeze
b=torch.IntTensor([ [[1,2,3],[4,5,6]] ] )
#b这个tensor就是[ [[1,2,3],[4,5,6]] ]
#即列表[ ]中只有一个2*3的二维向量,所以三维是1,2,3
#如果列表[ ]中有三个2*3的二维向量,那么三维就是3,2,3
print(b.shape)#输出得到:torch.Size([1,2,3])
#b这个tensor有三个维度,1*2*3,只有某个维度是1,这个维度才能被压缩
c=torch.squeeze(b,0)#表示在第0维上进行压缩
print(c)
#tensor([[1, 2, 3],
# [4, 5, 6]], dtype=torch.int32)
print(c.shape)#输出得到:torch.Size([2, 3])
成功的将1*2*3变为2*3,实现了降维
(2)升维unsqueeze
a=torch.IntTensor([[1,2,3],[4,5,6]])
#a这个tensor就是[ [1,2,3],[4,5,6] ]
#列表里面有两个一维向量,所以是2*3
print(a.shape)#输出得到:torch.Size([2, 3])
c=torch.unsqueeze(a,0)
print(c)
#tensor([ [[1, 2, 3],[4, 5, 6]] ], dtype=torch.int32)
print(c.shape)#输出得到:torch.Size([1, 2, 3])
成功的将2*3变为1*2*3,实现了升维