PyTorch 去除值为 1 的维度

1. 方法

  • torch.squeeze(input, dim=None, out=None) → Tensor
    • 官方文档:https://pytorch.org/docs/master/generated/torch.squeeze.html
    • 参数说明:
      • input (Tensor):输入的张量
      • dim (int, optional) :可选参数,如果不指定,该方法会把所有值为 1 的维度移除,如果指定,该方法则指移除指定的那个维度
      • out (Tensor, optional) :可选,指定输出的张量.

2. 实例

>>> import torch
>>> import numpy as np
>>> labels = np.random.randint(1,7,(10,5,1,2,1))
>>> labels = torch.LongTensor(labels)
>>> labels.size()
torch.Size([10, 5, 1, 2, 1])

# 2.1 移除指定的值为 1 的维度
>>> squeezed_labels1 = torch.squeeze(labels, dim=2)
>>> squeezed_labels1.size()
torch.Size([10, 5, 2, 1])

# 2.2 移除指定的值为 1 的维度
>>> squeezed_labels2 = labels.squeeze(dim=4)
>>> squeezed_labels2.size()
>>> torch.Size([10, 5, 1, 2])

# 2.3 不指定维度的话,默认移除所有的值为 1 的维度
>>> squeezed_labels3 = labels.squeeze()
>>> squeezed_labels3.size()
torch.Size([10, 5, 2])
  • 当然以上都可以使用相应的 tensor.squeeze_() 方法
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn-WJW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值