pytorch中的unsqueeze以及squeeze用法举例

unsqueeze:简单来说就是添加tensor的维度

举例说明:

代码

import torch
x = torch.tensor([1, 2, 3])#dim=1,即(3)
print('x: ', x)
print('x.size: ', x.size())
x1 = torch.unsqueeze(x, 1)#x1变为(3,1)的矩阵
print('x1: ', x1)
print('x1.size: ', x1.size())
x2 = torch.unsqueeze(x, 0)#x2变为(1,3)的矩阵
print('x2: ', x2)
print('x2.size: ', x2.size())

结果

解析:我们初始的张量为Tensor([1,2,3]),输出size为[3]。而我们进行unsqueeze操作,即torch.unsqueeze(x, 1),得到x1的size为[3,1]。当我们进行torch.unsqueeze(x, 0)时,x2的size为[1,3]。

 

squeeze:简单来说就是删减tensor的维度(只能dim=1的维度)

举例说明:

存在一个tensor X 的size为[1,2,3,4,1,5,1]

torch.squeeze(x).size:删除了所有dim=1的维度,即size = [2,3,4,5]

torch.squeeze(x, 0).size:删除了第一维度的维度,由于值为1,所以删除成功即size = [2,3,4,1,5,1]

torch.squeeze(x, 1).size:删除了第二维度的维度,由于值为2,不等于1 所以删除失败即size = [1,2,3,4,1,5,1]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值