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,对这些特征图加上偏置,bias32,先对bias进行unsqueeze操作增加维度:1,32,1,1,再用expand操作进行扩充4,32,14,14。然后两者就可以相加了。

相关推荐
IT_陈寒27 分钟前
Vue这个坑我跳了两次,原来问题出在这
前端·人工智能·后端
weiwei2284433 分钟前
神经网络模型导出及开放标准格式ONNX
pytorch·onnx
新新技术迷1 小时前
Node给AI接口做SSE代理与鉴权
人工智能
ServBay1 小时前
9 个 Python 第三方库推荐,不用 AI 都好像多出一个团队
后端·python
用户8356290780511 小时前
如何使用 Python 添加和管理 Excel 批注(完整示例)
后端·python
redreamSo2 小时前
大模型是不是到顶了?瓶颈到底在哪
人工智能·openai
用户8356290780512 小时前
使用 Python 管理 Excel 工作表:创建、复制、删除与重命名
后端·python
Oo9202 小时前
Tool Use 背后的技术逻辑
人工智能
姗姗来迟了2 小时前
Vue3封装AI流式对话组件踩坑实录
人工智能
码上天下2 小时前
用Pinia管理AI多会话状态
人工智能