pytorch中squeeze函数用法

squeeze的中文意思是"挤压 ",顾名思义,该函数的作用是压缩维度

python 复制代码
squeeze(input, dim=None) -> Tensor

input一个高维张量,如果各个维度中存在大小为1的维度,squeeze才起作用,下面举例说明

python 复制代码
x = torch.arange(6).reshape(2,1,3)

# tensor([[[0, 1, 2]],
#         [[3, 4, 5]]])  shape=(2,1,3)

x = x.squeeze()

# tensor([[0, 1, 2],
#        [3, 4, 5]])    shape=(2,3)

如果指定dim,当dim=1时候,效果和上面相同,如果dim为其他,那么x的维度不变。

当然,如果各个维度中不存在大小为1的维度,那么squeeze函数对x张量无效。

相关推荐
维度攻城狮3 小时前
ros2参数通信案例
开发语言·windows·python·ros2·参数通信
深圳佛手3 小时前
不用智能体开发框架,如何调用工具?
前端·python
清水白石0083 小时前
Python 与尾递归:为何不优化?如何优雅绕过?
开发语言·python
zhengfei6113 小时前
AI渗透工具——AI驱动的自动化渗透测试框架 | 基于 Model Context Protocol (MCP) 架构
人工智能·架构·自动化
王大傻09283 小时前
使用python for循环与ord() + chr()实现字符串加密
开发语言·python
袁庭新3 小时前
2025年终总结,智启
人工智能·aigc
540_5403 小时前
ADVANCE Day35
人工智能·python·深度学习
百***07453 小时前
Claude Opus 4.5 场景化实战指南:全链路赋能开发,提升效率翻倍
人工智能·gpt·开源
DeepVis Research3 小时前
【2025深度学习全家桶】Android Studio Otter + CUDA 11.8/12.1 离线安装包 | AI开发环境一键搞定
pytorch·深度学习·android studio·cuda·stablediffusion
沛沛rh453 小时前
深度学习0基础入门:从人工规则到神经网络的进化之旅
人工智能·深度学习·神经网络