矩阵乘法

高阶微分操作

矩阵乘法

矩阵乘法(Matrix Multiplication)算子正向传播用于计算两个矩阵乘积。反向传播基于输出矩阵C的梯度,计算其对输入矩阵A和B的梯度影响。

正向传播参数列表

参数类型参数描述
输入张量输入描述用于矩阵乘法的第一个输入张量mat1
输入张量输入描述用于矩阵乘法的第二个输入张量mat2
输出张量输出输出张量mat1和张量mat2的乘积

反向传播参数列表

参数类型参数描述
正向输出张量输入关于输出矩阵C的梯度dC:从网络后续部分传回的梯度,具有形状 (m, p)
输出张量输出关于矩阵A的梯度dA,计算为 dC * B.T,其中 B.T 是矩阵B的转置,dA具有形状 (m, n)
输出张量输出关于矩阵B的梯度dB,计算为 A.T * dC,其中 A.T 是矩阵A的转置,dB具有形状 (n, p)

函数返回值

  • 没有错误:操作成功。
  • 对象未初始化:表示输入张量没有初始化。
  • 类型不匹配:表示参数的数据类型不一致。
  • 分配失败:表张量分配空间不足。
  • 内部错误:表示内部调用出错。

注:正向传播参考IEEE 2941.1-2022标准中的矩阵乘法接口。

参考来源:团体标准——《人工智能 科学计算 共性算子功能要求》——章节7.3.1.11

硬件验证状态

昇腾 NPU 1.8ms鲲鹏 CPU 2.6ms海光 CPU 2.1ms昆仑 XPU 2.4ms海光 DCU 2.3ms飞腾 CPU 3.1ms燧原 XPU 2.7ms沐曦 GPU 2.5ms