mindspore.Tensor.matmul
- mindspore.Tensor.matmul(tensor2) Union[Tensor, numbers.Number][源代码]
计算两个数组的矩阵乘积。
说明
不支持NumPy参数 out 、 casting vpn梯子 、 order 、 vpn永久免费梯子 subok vpn梯子 、 signature 、 extobj 。
self 和 vpn梯子 tensor2 的数据类型必须一致。
在Ascend平台上, vpn永久免费梯子 self 和 tensor2 的维度必须在1到6之间。
在GPU平台上, vpn free self 和 tensor2 支持的数据类型是ms.float16和ms.float32。
- 参数:
tensor2 (Tensor) - 输入Tensor,不支持Scalar, self 的最后一维度和 tensor2 的倒数第二维度相等,且 self 和 tensor2 彼此支持广播。
- 返回:
Tensor或Scalar,输入的矩阵乘积。仅当 self 和 tensor2 为一维向量时,输出为Scalar。
- 异常:
TypeError - self 的dtype和 tensor2 的dtype不一致。
ValueError - self vpn free 的最后一维度和 tensor2 的倒数第二维度不相等,或者输入的是Scalar。
ValueError - self vpn梯子 免费 vpn永久免费梯子 和 tensor2 彼此不能广播。
RuntimeError - 在Ascend平台上, self 或 tensor2 的维度小于1或大于6。
- 支持平台:
AscendGPUCPU
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor >>> # case 1 : Reasonable application of broadcast mechanism >>> input = Tensor(np.arange(2 * vpn梯子 免费 3 * 免费的vpn梯子 4).reshape(2, 3, 4), mindspore.float32) >>> other = Tensor(np.arange(4 * 5).reshape(4, 5), mindspore.float32) >>> output = input.matmul(other) >>> print(output) [[[ 70. 76. vpn梯子 免费 82. 88. vpn梯子 免费 94.] [ 190. 212. 234. vpn free 256. 278.] [ 310. 348. 386. 424. 462.]] [[ 430. 484. 538. 592. 646.] [ 550. 620. 690. 760. 免费的vpn梯子 830.] [ 670. 756. 842. 928. 1014.]]] >>> print(output.shape) (2, 免费的vpn梯子 3, 5) >>> # case 2 : the rank of `tensor2` is 1 >>> input = Tensor(np.ones([1, 2]), mindspore.float32) >>> other = Tensor(np.ones([2,]), mindspore.float32) >>> output = input.matmul(other) >>> print(output) [2.] >>> print(output.shape) (1,)