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]。然后两者就可以相加了。

相关推荐
这儿有一堆花4 分钟前
python视觉开发
开发语言·python
普通网友5 分钟前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
shayudiandian1 小时前
深度学习中的激活函数全解析:该选哪一个?
人工智能·深度学习
视界先声1 小时前
如何选择合适的养老服务机器人
人工智能·物联网·机器人
RPA机器人就选八爪鱼1 小时前
RPA财务机器人:重塑财务效率,数字化转型的核心利器
大数据·数据库·人工智能·机器人·rpa
w***4812 小时前
Python中的简单爬虫
爬虫·python·信息可视化
腾讯WeTest2 小时前
Al in CrashSight ——基于AI优化异常堆栈分类模型
人工智能·分类·数据挖掘
凯子坚持 c2 小时前
openGauss向量数据库技术演进与AI应用生态全景
数据库·人工智能
嵌入式-老费2 小时前
自己动手写深度学习框架(从网络训练到部署)
人工智能·深度学习