其他分享
首页 > 其他分享> > PyTorch中squeeze()和unsqueeze()详解

PyTorch中squeeze()和unsqueeze()详解

作者:互联网

pytorch中squeeze()和unsqueeze()作用


squeeze()

squeeze() 用于在张量的指定维度插入新的维度 (为1) 得到维度提升的张量。

unsqueeze()

unsqueeze() 用于移除指定或者所有维度大小为1的维度,从而得到维度减小的新张量。


演示代码:

import torch

a=torch.arange(0,6)
b=a.view(2,3) # 维度:2*3
print("b",b)

c=b.unsqueeze(0) # 维度:1*2*3
print("c",c)

d=c.unsqueeze(2) # 维度:1*2*1*3
print("d",d)

e=d.squeeze(0) # 维度:2*1*3
print("e",e)

f=e.squeeze(0) # 维度:2*1*3
print("f",f)

结果显示:

b tensor([[0, 1, 2],
        [3, 4, 5]])
c tensor([[[0, 1, 2],
         [3, 4, 5]]])
d tensor([[[[0, 1, 2]],

         [[3, 4, 5]]]])
e tensor([[[0, 1, 2]],

        [[3, 4, 5]]])
f tensor([[[0, 1, 2]],

        [[3, 4, 5]]])

标签:unsqueeze,tensor,张量,print,PyTorch,维度,squeeze
来源: https://blog.csdn.net/weixin_48622537/article/details/115073784