在深度学习中经常会遇见这个函数,现在来说一下这个函数的用法,其实很简单的。
函数作用
函数的作用就是:挤压size为1的维度,挤压也就是remove。如果size不是1的话,那就没变化。
使用说明
在使用的时候,参数有:torch.squeeze(input, dim=None)
- 至于dim:可以传入
一个维度
或者是多个维度的元祖
形式
举例
>>> x = torch.zeros(2, 1, 2, 1, 2)
>>> x.size()
torch.Size([2, 1, 2, 1, 2])
#仅仅传入tensor,不指定具体维度的话,默认是对所有的维度进行挤压
>>> y = torch.squeeze(x)
>>> y.size()
torch.Size([2, 2, 2])
# 指定对维度0 进行挤压,但是维度0的size是2,所以没变化
>>> y = torch.squeeze(x, 0)
>>> y.size()
torch.Size([2, 1, 2, 1, 2])
# 指定对维度1进行挤压,因为维度1的size是1,因此进行加压后变减少了一个维度
>>> y = torch.squeeze(x, 1)
>>> y.size()
torch.Size([2, 2, 1, 2])
# 传入多个维度通过元祖的形式,
>>> y = torch.squeeze(x, (1, 2, 3))
torch.Size([2, 2, 2])