mindspore.ops.UnsortedSegmentProd

查看源文件
class mindspore.ops.UnsortedSegmentProd[源代码]

沿分段计算输入Tensor元素的乘积。

更多参考详见 mindspore.ops.unsorted_segment_prod()

输入:
  • input_x (Tensor) - shape: \((x_1, x_2, ..., x_R)\) 。 数据类型支持float16、float32或int32。

  • segment_ids (Tensor) - 用于指示每个元素所属段的标签,将shape设置为 \((x_1, x_2, ..., x_N)\) ,其中0<N<=R。 数据类型支持int32。

  • num_segments (Union[int, Tensor]) - 分段数量 \(z\) ,可以为int或零维的Tensor。

输出:

Tensor,shape为: \((z, x_{N+1}, ..., x_R)\)

支持平台:

Ascend GPU CPU

样例:

>>> from mindspore import Tensor
>>> from mindspore import ops
>>> import numpy as np
>>> input_x = Tensor(np.array([[1, 2, 3], [4, 5, 6], [4, 2, 1]]).astype(np.float32))
>>> segment_ids = Tensor(np.array([0, 1, 0]).astype(np.int32))
>>> num_segments = 2
>>> unsorted_segment_prod = ops.UnsortedSegmentProd()
>>> output = unsorted_segment_prod(input_x, segment_ids, num_segments)
>>> print(output)
[[4. 4. 3.]
 [4. 5. 6.]]