PyTorch中的常见乘法运算(*、@、Mul、Matmul)

哈达玛积:torch.mul()、torch.dot()、*

两个相同尺寸的张量相乘,然后对应元素的相乘就是哈达玛积,这种乘法要求参与运算的矩阵唯独相同,运算结果还是一个相同维度的矩阵。在这个运算中,torch.mul()和*以及torch.dot()的作用是等价的:

python 复制代码
a = torch.tensor([1,2])
b = torch.tensor([2,3])
print(a*b)
print(torch.mul(a,b))
>>> tensor([2, 6])
>>> tensor([2, 6])

这与除法的运算规则相同,torch中的torch.div()其实就是/, 类似的:torch.add就是+,torch.sub()就是-,不过符号的运算更简单常用:

python 复制代码
a = torch.tensor([1.,2.])
b = torch.tensor([2.,3.])
print(a/b)
print(torch.div(a/b))
>>> tensor([0.5000, 0.6667])
>>> tensor([0.5000, 0.6667])

矩阵乘法:torch.mm()、torch.matmul()、@

如果参与运算的是一个多维张量,那么最好torch.matmul(),由于广播机制的原因,在多维张量中,参与矩阵运算的其实只有后两个维度,前面的维度则被认为是batch:

python 复制代码
a = torch.tensor([1.,2.])
b = torch.tensor([2.,3.]).view(1,2)
print(torch.mm(a, b))
print(torch.matmul(a, b))
print(a @ b)

tensor([[2., 3.],
        [4., 6.]])
tensor([[2., 3.],
        [4., 6.]])
tensor([[2., 3.],
        [4., 6.]])
相关推荐
名不经传的养虾人7 分钟前
从0到1:企业级AI项目迭代日记 Vol.77|隔离不只是数据,还有进程、上下文和依赖
大数据·人工智能·ai编程·企业ai·多agent协作
qq_454245038 分钟前
.clinerules 系统提示词价值评判
人工智能·架构
俊哥V8 分钟前
AI一周事件 · 2026-07-22 至 2026-07-28
人工智能·ai
一知半解仙23 分钟前
从0到1!Spring Cloud微服务无缝集成AI智能体:架构设计+核心源码+生产落地全指南
人工智能·spring cloud·微服务
数字融合23 分钟前
透明化时空联合无缝追踪,构筑无断点全域态势感知网络专项技术
网络·人工智能·virtualenv
ltqvibe27 分钟前
异构系统对接的虚拟层架构:本体语义如何架在现有系统之上
人工智能·字段映射·jboltai·异构系统集成
cn分享汇29 分钟前
2026免费空间大的网盘软件有哪些推荐,主流网盘拆解
大数据·网络·人工智能
CTA量化套保35 分钟前
2026年量化入门路线,概念规则和简单实现逐步走
人工智能·python
神奇霸王龙36 分钟前
金融AI对决:Qwen3.7-Max屠榜降本60%
人工智能·ai·金融·prompt·aigc·ai金融