简易了解Pytorch中的@ 和 * 运算符
1.基础知识
在pytorch中,@和*运算符用于不通类型的数数学运算,具体是矩阵乘法和逐元素乘法。
基本知识
运算符 | 功能 | 适用场景 | 示例 |
---|---|---|---|
@ | 矩阵乘法(或点乘) | 用于执行线性代数中的矩阵乘法 | C = A @ B,其中 A 和 B 为矩阵 |
* | 逐元素乘法 | 用于对同一形状的张量进行逐元素相乘 | C = A * B,其中 A 和 B 为同形状张量 |
两者的差异总结如下:
特点 | 矩阵乘法 (@) | 逐元素乘法 (*) |
---|---|---|
运算类型 | 矩阵乘法(线性代数) | 逐元素运算 |
适用条件 | 列数等于行数 | 形状相同 |
返回结果形状 | (m, p) | 与输入张量相同 |
使用示例 | C = A @ B | C = A * B |
适用场景 | 线性变换、深度学习中的权重计算 | 图像处理、逐元素操作等 |
- 使用 @ 运算符进行矩阵乘法适合线性代数操作,常用于深度学习中的层与权重的运算
- 使用 * 运算符进行逐元素乘法适合需要对张量进行元素级操作的场景,如数据处理和图像增强等
2. @
@ 运算符用于执行矩阵乘法或向量点乘
对于两个矩阵 A 和 B,其结果 C 是一个新矩阵,其中 C[i][j] 是 A 的第 i 行与 B 的第 j 列的点积
适用条件: A 的列数必须等于 B 的行数,即 A 的形状为 (m, n),B 的形状为 (n, p),则结果 C 的形状为 (m, p)
3. *
*运算符用于对两个相同形状的张量进行逐元素相乘
结果张量的每个元素是操作数张量中对应元素的乘积
适用条件: A 和 B 必须具有相同的形状(或能够通过广播规则兼容)
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_47872288/article/details/143212224
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理