mindspore.ops.inner

mindspore.ops.inner(input, other)[源代码]

计算两个1D Tensor的点积。

对于1D Tensor(没有复数共轭的情况),返回两个向量的点积。

对于更高的维度,返回最后一个轴上的和积。

说明

如果 inputother 之一是标量,那么 mindspore.ops.inner() 相当于 mindspore.ops.mul()

参数:
  • input (Tensor) - 第一个输入的Tensor。

  • other (Tensor) - 第二个输入的Tensor。

返回:

Tensor,内积的结果。

异常:
  • ValueError - 如果 inputother 都不是标量,且两者的最后一维不相同。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore as ms
>>> from mindspore import Tensor, ops
>>> from mindspore import dtype as mstype
>>> # case1: 2 1D tensors
>>> input = ms.Tensor([1, 2, 3], mstype.float32)
>>> y = ms.Tensor([4, 5, 6], mstype.float32)
>>> output = ops.inner(input, y)
>>> print(output)
32
>>> # case2: Tensor scalar and tensor
>>> input = ms.Tensor([[[1, 2, 3], [3, 2, 1]], [[4, 5, 6], [4, 5, 6]]], mstype.float32)
>>> y = ms.Tensor(2, mstype.float32)
>>> output = ops.inner(input, y)
>>> print(output)
[[[ 2.  4.  6.]
  [ 6.  4.  2.]]
 [[ 8. 10. 12.]
  [ 8. 10. 12.]]]
>>> # case3: Two tensors
>>> input = ms.Tensor([[[1, 2, 3], [3, 2, 1]], [[4, 5, 6], [4, 5, 6]]], mstype.float32)
>>> y = ms.Tensor([[2, 3, 4], [4, 3, 2]], mstype.float32)
>>> output = ops.inner(input, y)
>>> print(output)
[[[20. 16.]
  [16. 20.]]
 [[47. 43.]
  [47. 43.]]]