coalesce

paddle.sparse. coalesce ( x, name=None ) [源代码]

coalesce 操作包含排序和合并相同 indices 两步,执行 coalesce 后,x 变成按 indices 进行有序排序,并行每个 indices 只出现一次。

参数

  • x (Tensor) - 输入 SparseCooTensor

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

返回

返回 coalesce 后的 SparseCooTensor。

代码示例

>>> import paddle

>>> indices = [[0, 0, 1], [1, 1, 2]]
>>> values = [1.0, 2.0, 3.0]
>>> sp_x = paddle.sparse.sparse_coo_tensor(indices, values)
>>> sp_x = paddle.sparse.coalesce(sp_x)
>>> print(sp_x.indices())
Tensor(shape=[2, 2], dtype=int64, place=Place(cpu), stop_gradient=True,
[[0, 1],
 [1, 2]])
>>> print(sp_x.values())
Tensor(shape=[2], dtype=float32, place=Place(cpu), stop_gradient=True,
[3., 3.])