segment_mean

paddle.geometric. segment_mean ( data, segment_ids, name=None ) [源代码]

分段求均值函数。

此运算符,将 segment_ids 中相同索引对应的 data 的元素,进行求均值操作。其中 segment_ids 是一个单调非减序列。 具体而言,该算子计算一个 Tensor out,使得

\[out_i = \mathop{mean}_{j \in \{segment\_ids_j == i \} } data_{j}\]

其中求均值的索引 j,是符合 segment_ids[j] == i 的所有 j

参数

  • data (Tensor) - Tensor,数据类型为 float32、float64。

  • segment_ids (Tensor) - 一维 Tensor,与输入数据 data 的第一维大小相同,表示 data 分段位置,单调非减。合法的数据类型为 int32、int64。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

Tensor,分段求均值的结果。空的 segment_id 对应的默认值为 0。

代码示例

>>> import paddle
>>> data = paddle.to_tensor([[1, 2, 3], [3, 2, 1], [4, 5, 6]], dtype='float32')
>>> segment_ids = paddle.to_tensor([0, 0, 1], dtype='int32')
>>> out = paddle.geometric.segment_mean(data, segment_ids)
>>> print(out.numpy())
[[2. 2. 2.]
 [4. 5. 6.]]