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

相关推荐
测开小菜鸟8 分钟前
使用python向钉钉群聊发送消息
java·python·钉钉
Power202466630 分钟前
NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
人工智能·深度学习·机器学习·自然语言处理·nlp
数据猎手小k33 分钟前
AIDOVECL数据集:包含超过15000张AI生成的车辆图像数据集,目的解决旨在解决眼水平分类和定位问题。
人工智能·分类·数据挖掘
好奇龙猫38 分钟前
【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
人工智能·算法
沉下心来学鲁班1 小时前
复现LLM:带你从零认识语言模型
人工智能·语言模型
数据猎手小k1 小时前
AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。
android·人工智能·机器学习·语言模型
YRr YRr1 小时前
深度学习:循环神经网络(RNN)详解
人工智能·rnn·深度学习
sp_fyf_20241 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
多吃轻食1 小时前
大模型微调技术 --> 脉络
人工智能·深度学习·神经网络·自然语言处理·embedding
萧鼎1 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步