Pytorch Tensor维度变换方法

1.torch.reshape()、torch.view()可以调整Tensor的shape

2.torch.unsqueeze(index)可以为Tensor增加一个维度

3.squeeze()可以删减维度

4.expand()扩展维度

5.repeat()维度重复,不常用

6 .transpose(dim1, dim2)交换dim1与dim2,进行维度变换。

注意这种交换使得存储不再连续,再执行一些reshape的操作会报错,所以要调用一下contiguous()使其变成连续的维度。

参考:https://blog.csdn.net/weicao1990/article/details/93618136

7.Broadcasting(广播)也就是自动实现了若干unsqueeze和expand操作,以使两个Tensor的shape一致,从而完成某些操作(往往是加法)。

比如得到的feature maps的维度是[4,32,14,14],对这些特征图加上偏置,bias[32],先对bias进行unsqueeze操作增加维度:[1,32,1,1],再用expand操作进行扩充[4,32,14,14]。然后两者就可以相加了。

相关推荐
愤怒的可乐几秒前
从零构建大模型智能体:OpenAI Function Calling智能体实战
人工智能·大模型·智能体
XiaoMu_00111 分钟前
基于深度学习的农作物叶片病害智能识别与防治系统
人工智能·深度学习
零度@17 分钟前
Java中Map的多种用法
java·前端·python
potato_155421 分钟前
Windows11系统安装Isaac Sim和Isaac Lab记录
人工智能·学习·isaac sim·isaac lab
550A24 分钟前
如何修改kagglehub的数据集默认下载路径
python
倚天仗剑走天涯WGM28 分钟前
对CANoe和VBA和TSmaster 三款工具的调用的理解
python
我命由我1234529 分钟前
python-dotenv - python-dotenv 快速上手
服务器·开发语言·数据库·后端·python·学习·学习方法
黑客思维者29 分钟前
Python定时任务schedule/APScheduler/Crontab 原理与落地实践
开发语言·python·crontab·apscheduler
yaoxin52112334 分钟前
268. Java Stream API 入门指南
java·开发语言·python
测试人社区-千羽40 分钟前
48小时攻克测试岗——闪电面试极速备战手册
人工智能·python·opencv·面试·职场和发展·单元测试·压力测试