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

相关推荐
连线Insight几秒前
理想发布MindVLA-o1:一个模型,如何真正理解3D世界?
人工智能
小小小米粒几秒前
[特殊字符] 正常部署 AI + 流式输出(Stream)[特殊字符] 为什么会 CPU 炸了?
开发语言·python
站大爷IP4 分钟前
Python异步编程:asyncio核心用法与避坑指南
python
AINative软件工程7 分钟前
通义千问 vs DeepSeek:国产大模型编程能力横评 2026
人工智能
Jackson_Li7 分钟前
大多数人对 Claude Code Skills 的理解,在第一步就错了
人工智能·设计模式
Daydream.V10 分钟前
卷积神经网络——附水果分类案例及参数优化
人工智能·分类·cnn·卷积神经网络
地平线开发者10 分钟前
【地平线J6工具链入门教程】J5到J6算法部署迁移指南
人工智能·算法·自动驾驶·汽车
m0_5879589511 分钟前
游戏与图形界面(GUI)
jvm·数据库·python
不剪发的Tony老师15 分钟前
Spyder:一款面向数据科学的Python集成开发环境
ide·python
zhangshuang-peta17 分钟前
MCP vs Prompt 工程:从“写提示词”到“立协议”的范式迁移
人工智能·ai agent·mcp·peta