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.]])
相关推荐
一水鉴天几秒前
整体设计的自动化部署完整方案设计与程序实现 (完善版)20260311 之2 (豆包助手)
运维·人工智能·自动化
xiami_world几秒前
深度评测:5款AI流程图生成工具——图像识别、Mermaid支持与文档解析能力对比
人工智能·ai·信息可视化·ai作画·流程图
一次旅行1 分钟前
云部署Openclaw龙虾接入飞书PPT问题
人工智能·github·飞书
进击monkey2 分钟前
企业知识库选型对比:PandaWiki 与 Wiki.js 全面评测
人工智能·ai知识库
2501_941982054 分钟前
企微自动回复 API:从关键词匹配到 AI 智能对话的深度实践
人工智能·企业微信
weixin_贾4 分钟前
生态环境影响评价实操技术与全流程指南
人工智能·景观生态学·maxent模型
密瓜智能6 分钟前
贝壳:基于 GPU 虚拟化扩展机器学习基础设施
人工智能·机器学习
min1811234567 分钟前
在线绘制跨职能流程图电脑端简单操作优化部门协作效率
人工智能·系统架构·pdf·流程图
Kun Li10 分钟前
ProEdit: Inversion-based Editing From Prompts Done Right
人工智能·图片生成
艾莉丝努力练剑12 分钟前
C语言中&的多重用途解析
运维·服务器·c语言·c++·人工智能