Pytorch中乘法函数torch.matmul() 的一种用法

主要记录下torch.matmul(A,B)的用法中的一种情况:

当A,B有一个是3维以上,另一个是3维或3维以上时,如果想要使用torch.matmul(A,B),必须同时满足:

1.A和B的最后两个维度满足矩阵乘法的要求。例如A的维度是(3,1,3,3),B是(3,3,2),此时A的最后2维是(3,3),B是(3,2),符合条件

2.除去最后两个维度,A和B的其他维度要满足可以广播的条件。例如A的维度是(3,1,3,3),B是(3,3,2),除去最后两个维度,A剩下了(3,1),B是(3,),很明显此时满足广播条件

广播机制参考:Pytorch中的广播机制(Broadcast)_pytorch广播机制-CSDN博客

满足上述要求后,继续看如何执行 torch.matmul(A,B):

还是对于A的维度是(3,1,3,3),B是(3,3,2)的这个例子,假设相乘后的结果为C,那么C的维度可以按下面步骤求出:

1.A和B的最后两个维度执行矩阵乘法,得到的维度就是C的最后两个维度,也就是(3,2)

2.除去A和B的最后两个维度,其他维度进行广播后得到的维度是(3,3),这就是C的前几个维度

3.将上述维度合起来就是C的维度:(3,3,3,2)

关于torch.matmul(A,B)的更多用法参考:

Pytorch中张量矩阵乘法函数(mm, bmm, matmul)使用说明,含高维张量实例及运行结果_torch.mm-CSDN博客

https://www.cnblogs.com/HOMEofLowell/p/15963140.html

https://zhuanlan.zhihu.com/p/638404226

相关推荐
yuyuxun11 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
萝卜小白1 小时前
深度学习基础面经
人工智能·深度学习
如夏倾城2 小时前
百度文心(容易被忽略的好用AI)使用方式
人工智能·python·百度·语言模型·dubbo
用户019027581612 小时前
quotes 实时价和 klines 最新收盘价为什么对不上?
python
泯泷2 小时前
为什么 RL 比 SFT 更会"举一反三"?
人工智能·llm·agent
上海潭龙东海科技有限公司2 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块
数据仓库·人工智能·算法·重构·动态规划
少司府2 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
民乐团扒谱机3 小时前
Agent-Skills 新手入门与实战部署指南
人工智能·ai·agent·skill
打工仔折腾 AI3 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
火云代理3 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip