torch.squeeze()和unsqueeze()

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jacke121/article/details/82977086

torch.squeeze()和unsqueeze()

unsqueeze()

函数功能:与squeeze()函数功能相反,用于添加维度。

queeze()

函数功能:去除size为1的维度,包括行和列。当维度大于等于2时,squeeze()无作用。

其中squeeze(0)代表若第一维度值为1则去除第一维度,squeeze(1)代表若第二维度值为1则去除第二维度。

eg1:

a = torch.Tensor(1,3)

print a

tensor([[-1.37,4.56,-3.57]])

print a.squeeze(0)

tensor([-1.37,4.56,-3.57])

print a.squeeze(1)

tensor([[-1.37,4.56,-3.57]])

eg2:

b = torch.Tensor(2,3)

print b

tensor([[-3.17,3.09,1.43], 
[0.00,0.00,0.00]])

print b.squeeze(0)

tensor([[-3.17,3.09,1.43], 
[0.00,0.00,0.00]])

print b.squeeze(1)

tensor([[-3.17,3.09,1.43], 
[0.00,0.00,0.00]])

eg3:

c = torch.Tensor(3,1)

print c

tensor([[-3.54], 
[3.09], 
[0.00]])

print c.squeeze(0)

tensor([[-3.54], 
[3.09], 
[0.00]])

print c.squeeze(1)

tensor([-3.54,3.09,0.00])

unsqueeze()

函数功能:与squeeze()函数功能相反,用于添加维度。

eg:

g = torch.Tensor(3)

print g

tensor([3.27,4.56,-4.84])

print g.unsqueeze(0)

tensor([[3.27,4.56,-4.84]])

print g.unsqueeze(1)

tensor([[3.27], 
[4.56], 
[-4.84]])

print g.unsqueeze() 必须指明维度

猜你喜欢

转载自blog.csdn.net/jacke121/article/details/82977086