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.]])
相关推荐
新点一讯几秒前
聚焦流程数智升级,九科信息企业自动化智能体赋能高效运营
大数据·人工智能
Dawson Zhu18 分钟前
元宇宙对世界模型发展的启发与借鉴意义——以半导体晶圆厂为例
人工智能
武子康19 分钟前
Pi Agent 为什么不内置 MCP:工具发现与上下文成本的真实争议
人工智能·llm·agent
樊小肆22 分钟前
# 你还在等DeepSeek官方 agent Harness‌? 来试试 DeepSeeker-Code吧
前端·人工智能·后端
樊小肆23 分钟前
2568 万 token 才花 2 块 2:聊聊 DeepSeeker-Code 怎么吃满上下文缓存
前端·人工智能·后端
美狐美颜sdk24 分钟前
直播APP开发完整流程:需求规划、UI设计、功能开发、美颜SDK接入全解析
大数据·人工智能·音视频·美颜sdk·美颜api
ai产品老杨25 分钟前
AI视频分析API项目实战记录
人工智能·音视频
服装 AI 增长黑客25 分钟前
服装店收银系统选型思考:秦丝进销存的核心价值与适用边界
人工智能
小棉花的ai跨境之旅37 分钟前
一个人跑通内容自动化管线:5 个真实大坑,第 1 个我就踩了
深度学习
小码哥哥40 分钟前
当企业软件开始“越界“:从单一工具到超级集合的架构演进
大数据·人工智能·架构