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

相关推荐
小北方城市网7 分钟前
SpringBoot 集成 MyBatis-Plus 实战(高效 CRUD 与复杂查询):简化数据库操作
java·数据库·人工智能·spring boot·后端·安全·mybatis
川西胖墩墩8 分钟前
开发者友好型AI调试与可观测性工具
人工智能
学统计的程序员10 分钟前
一篇文章简述如何安装claude code并接入国产智谱AI大模型
人工智能·ai编程·claude
2501_9413331011 分钟前
耳机听筒检测与识别 Ear_Piece和Head_Phone目标检测改进版freeanchor_r101_fpn_1x_coco模型_1
人工智能·目标检测·计算机视觉
闻道且行之12 分钟前
基于 LLM 的 MCP 架构实战:服务端搭建、工具开发与 Dify 集成全流程
python·架构·nlp·dify·mcp
人工小情绪13 分钟前
Antigravity简介
ide·人工智能
sww_102615 分钟前
智能问数系统(一):高质量的Text-to-SQL
java·人工智能·ai编程
好奇龙猫21 分钟前
【人工智能学习-AI入试相关题目练习-第六次】
人工智能·学习
逄逄不是胖胖21 分钟前
《动手学深度学习》-48全连接卷积神经网络FCN实现
人工智能·深度学习·cnn
老蒋每日coding32 分钟前
Python:数字时代的“万能钥匙”
开发语言·python