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

相关推荐
一个处女座的程序猿O(∩_∩)O几秒前
Python面向对象的封装特性详解
开发语言·python
zhaoyin19942 分钟前
python基础
开发语言·python
LaughingZhu4 分钟前
Product Hunt 每日热榜 | 2026-02-22
人工智能·经验分享·深度学习·神经网络·产品运营
数据智能老司机6 分钟前
打造 ML/AI 系统的内部开发者平台(IDP)——设计可靠的机器学习(ML)系统
人工智能·llm·aiops
上进小菜猪11 分钟前
基于 YOLOv8 的面向矿井场景的煤炭图像智能检测系统 [目标检测完整源码](YOLOv8 + PyQt5 实战)
人工智能
~央千澈~18 分钟前
08实战处理AI音乐技术详解第三阶段:时间人性化(Timing Humanization)·卓伊凡
人工智能
xwz小王子22 分钟前
Nature Electronics:基于单尖峰编码的人机界面端到端忆阻硬件系统
人工智能·忆阻
后台技术汇25 分钟前
读书笔记:《以日为鉴》-- 从日本失落的三十年看中国互联网与AI产业的未来
人工智能
Ray Liang26 分钟前
Opus现实打脸GLM5“教课书“式架构
人工智能·mindx
小程故事多_8026 分钟前
抛弃工具堆砌,基于 LangGraph + 开源生态,打造可自愈的 AI Agent 系统
人工智能·开源·aigc