C语言中squeeze的作用,pytorch下的unsqueeze和squeeze的用法说明

本文详细介绍了PyTorch中`unsqueeze`和`squeeze`函数的使用方法,通过示例展示了如何在张量的指定维度上增加或删除单维度条目,并对比了两者的区别。此外,还提到了`expand`, `repeat`, `view`和`cat`等其他张量操作函数的总结,帮助理解和记忆这些函数的功能。" 117594260,10543692,蓝牙空中升级(BLE OTA)原理与步骤解析,"['android ble空中升级', '蓝牙通信', '固件升级']
摘要由CSDN通过智能技术生成

#squeeze 函数:从数组的形状中删除单维度条目,即把shape中为1的维度去掉

#unsqueeze() 是squeeze()的反向操作,增加一个维度,该维度维数为1,可以指定添加的维度。例如unsqueeze(a,1)表示在1这个维度进行添加

import torch

a=torch.rand(2,3,1)

print(torch.unsqueeze(a,2).size())#torch.Size([2, 3, 1, 1])

print(a.size()) #torch.Size([2, 3, 1])

print(a.squeeze().size()) #torch.Size([2, 3])

print(a.squeeze(0).size()) #torch.Size([2, 3, 1])

print(a.squeeze(-1).size()) #torch.Size([2, 3])

print(a.size()) #torch.Size([2, 3, 1])

print(a.squeeze(-2).size()) #torch.Size([2, 3, 1])

print(a.squeeze(-3).size()) #torch.Size([2, 3, 1])

print(a.squeeze(1).size()) #torch.Size([2, 3, 1])

print(a.squeeze(2).size()) #torch.Size([2, 3])

print(a.squeeze(3).size()) #RuntimeError: Dimension out of range (expected to be in range of [-3, 2], but got 3)

print(a.unsqueeze().size()) #TypeError: unsqueeze() missing 1 required positional arguments: "dim"

print(a.unsqueeze(-3).size()) #torch.Size([2, 1, 3, 1])

print(a.unsqueeze(-2).size()) #torch.Size([2, 3, 1, 1])

print(a.unsqueeze(-1).size()) #torch.Size([2, 3, 1, 1])

print(a.unsqueeze(0).size()) #torch.Size([1, 2, 3, 1])

print(a.unsqueeze(1).size()) #torch.Size([2, 1, 3, 1])

print(a.unsqueeze(2).size()) #torch.Size([2, 3, 1, 1])

print(a.unsqueeze(3).size()) #torch.Size([2, 3, 1, 1])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值