mindspore.ops.UnsortedSegmentSum

class mindspore.ops.UnsortedSegmentSum[源代码]

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

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

输入:
  • input_x (Tensor) - 待进行分段求和的Tensor,shape: \((x_1, x_2, ..., x_R)\)

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

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

输出:

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

支持平台:

Ascend GPU CPU

样例:

>>> from mindspore import Tensor
>>> from mindspore import ops
>>> import mindspore
>>> input_x = Tensor([1, 2, 3, 4], mindspore.float32)
>>> segment_ids = Tensor([0, 0, 1, 2], mindspore.int32)
>>> num_segments = 4
>>> output = ops.UnsortedSegmentSum()(input_x, segment_ids, num_segments)
>>> print(output)
[3. 3. 4. 0.]
>>> input_x = Tensor([1, 2, 3, 4, 2, 5], mindspore.float32)
>>> segment_ids = Tensor([0, 0, 1, 2, 3, 4], mindspore.int32)
>>> num_segments = 6
>>> output = ops.UnsortedSegmentSum()(input_x, segment_ids, num_segments)
>>> print(output)
[3. 3. 4. 2. 5. 0.]