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

相关推荐
QBoson3 分钟前
AI设计RNA开关新突破:受限玻尔兹曼机让人工分子“听懂”代谢物信号
人工智能
paopao_wu6 分钟前
AI编程工具-Trae: SOLO模式
人工智能·ai编程·trae
AC赳赳老秦11 分钟前
行业数据 benchmark 对比:DeepSeek上传数据生成竞品差距分析报告
开发语言·网络·人工智能·python·matplotlib·涛思数据·deepseek
小鸡吃米…13 分钟前
带Python的人工智能——深度学习
人工智能·python·深度学习
AC赳赳老秦17 分钟前
财务数据智能解读:DeepSeek分析利润表生成异常波动原因报告
数据库·人工智能·postgresql·zookeeper·测试用例·时序数据库·deepseek
沛沛老爹18 分钟前
Web开发者进阶AI:Advanced-RAG上下文压缩与过滤原理及实战应用
人工智能·rag·faq·文档细粒度·自适应切分
Dontla19 分钟前
2025 年个人成长与技术年度总结
人工智能
胡伯来了24 分钟前
07 - 数据收集 - 网页采集工具Scrapy
python·scrapy·数据采集
御水流红叶24 分钟前
第七届金盾杯(第一次比赛)wp
开发语言·python
小徐Chao努力25 分钟前
【Langchain4j-Java AI开发】04-AI 服务核心模式
java·人工智能·python