You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

mindspore.ops.MatMul.rst 1.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. mindspore.ops.matmul
  2. =====================
  3. .. py:class:: mindspore.ops.MatMul(transpose_a=False, transpose_b=False)
  4. 将矩阵 `a` 和矩阵 `b` 相乘。
  5. .. math::
  6. (Output)_{i j}=\sum_{k=1}^{p} a_{i k} b_{k j}=a_{i 1} b_{1 j}+a_{i 2} b_{2 j}+\cdots+a_{i p} b_{p j}, p\in N
  7. 其中, :math:`i,j` 表示输出的第i行和第j列元素。
  8. **参数:**
  9. - **transpose_a** (bool) - 如果为True,则在相乘之前转置 `a`。默认值:False。
  10. - **transpose_b** (bool) - 如果为True,则在相乘之前转置 `b`。默认值:False。
  11. **输入:**
  12. - **a** (Tensor) - 要相乘的第一个Tensor。如果 `transpose_a` 为False,则该Tensor的shape为 :math:`(N, C)` ;否则,该Tensor的shape为 :math:`(C, N)` 。
  13. - **b** (Tensor) - 要相乘的第二个Tensor。如果 `transpose_b` 为False,则该Tensor的shape为 :math:`(C, M)` ;否则,该Tensor的shape为 :math:`(M, C)` 。
  14. **输出:**
  15. Tensor,输出Tensor的shape为 :math:`(N, M)` 。
  16. **异常:**
  17. - **TypeError** - `transpose_a` 或 `transpose_b` 不是bool。
  18. - **ValueError** - 矩阵 `a` 的维度的列不等于矩阵 `b` 的维度的行。
  19. - **ValueError** - `a` 或 `b` 的维度不等于2。
  20. **支持平台:**
  21. ``Ascend`` ``GPU`` ``CPU``
  22. **样例:**
  23. >>> a = Tensor(np.ones(shape=[1, 3]), mindspore.float32)
  24. >>> b = Tensor(np.ones(shape=[3, 4]), mindspore.float32)
  25. >>> matmul = ops.MatMul()
  26. >>> output = matmul(a, b)
  27. >>> print(output)
  28. [[3. 3. 3. 3.]]