unsqueeze 和 squeeze

squeeze压缩的意思 就是在第几维为1 去掉

unsqueeze 解缩 在第几维增加 变成*1

squeeze用法

c = b.view(1, 1, 1, 2, 3)
c.squeeze(0) # 压缩第0维的“1”
(0 ,0 ,.,.) = 
  0  1  2
  3  4  5
[torch.FloatTensor of size 1x1x2x3]

c.squeeze() # 把所有维度为“1”的压缩
 0  1  2
 3  4  5
[torch.FloatTensor of size 2x3]

unsqueeze用法

b = a.view(-1, 3) # 当某一维为-1的时候,会自动计算它的大小
b
 0  1  2
 3  4  5
[torch.FloatTensor of size 2x3]


b.unsqueeze(1) # 注意形状,在第1维(下标从0开始)上增加“1”

(0 ,.,.) = 
  0  1  2

(1 ,.,.) = 
  3  4  5
[torch.FloatTensor of size 2x1x3]
posted @ 2018-05-28 21:24  zx-y  阅读(215)  评论(0编辑  收藏  举报