mindspore.ops.dot
- mindspore.ops.dot(x1, x2)[源代码]
两个Tensor之间的点积。
参数:
x1 (Tensor) - 第一个输入的Tensor,数据类型为float16或float32,秩必须大于或等于2。
x2 (Tensor) - 第二个输入的Tensor,数据类型为float16或float32,秩必须大于或等于2。
输出:
Tensor, x1 和 x2 的点积。
异常:
TypeError - x1 和 x2 的数据类型不相同。
TypeError - x1 或 x2 的数据类型不是float16或float32。
ValueError - x1 或 x2 的秩小于2。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> from mindspore import Tensor, ops >>> import mindspore >>> input_x1 = Tensor(np.ones(shape=[2, 3]), mindspore.float32) >>> input_x2 = Tensor(np.ones(shape=[1, 3, 2]), mindspore.float32) >>> output = ops.dot(input_x1, input_x2) >>> print(output) [[[3. 3.]] [[3. 3.]]] >>> print(output.shape) (2, 1, 2) >>> input_x1 = Tensor(np.ones(shape=[1, 2, 3]), mindspore.float32) >>> input_x2 = Tensor(np.ones(shape=[1, 3, 2]), mindspore.float32) >>> output = ops.dot(input_x1, input_x2) >>> print(output) [[[[3. 3.]] [[3. 3.]]]] >>> print(output.shape) (1, 2, 1, 2) >>> input_x1 = Tensor(np.ones(shape=[1, 2, 3]), mindspore.float32) >>> input_x2 = Tensor(np.ones(shape=[2, 3, 2]), mindspore.float32) >>> output = ops.dot(input_x1, input_x2) >>> print(output) [[[[3. 3.] [3. 3.]] [[3. 3.] [3. 3.]]]] >>> print(output.shape) (1, 2, 2, 2) >>> input_x1 = Tensor(np.ones(shape=[3, 2, 3]), mindspore.float32) >>> input_x2 = Tensor(np.ones(shape=[2, 1, 3, 2]), mindspore.float32) >>> output = ops.dot(input_x1, input_x2) >>> print(output) [[[[[3. 3.]] [[3. 3.]]] [[[3. 3.]] [[3. 3.]]]] [[[[3. 3.]] [[3. 3.]]] [[[3. 3.]] [[3. 3.]]]] [[[[3. 3.]] [[3. 3.]]] [[[3. 3.]] [[3. 3.]]]]] >>> print(output.shape) (3, 2, 2, 1, 2)