mindspore.ops.dense_to_sparse_coo

mindspore.ops.dense_to_sparse_coo(tensor: Tensor)[源代码]

将常规Tensor转为稀疏化的COOTensor。

说明

现在只支持二维Tensor。

参数:
  • tensor (Tensor) - 一个稠密Tensor,必须是二维。

返回:

返回一个二维的COOTensor,是原稠密Tensor的稀疏化表示。分为:

  • indices (Tensor) - 二维整数张量,表示稀疏张量中 values 所处的位置索引。

  • values (Tensor) - 一维张量,用来给 indices 中的每个元素提供数值。

  • shape (tuple(int)) - 整数元组,用来指定稀疏矩阵的稠密形状。

异常:
  • TypeError - tensor 不是Tensor。

  • ValueError - tensor 不是二维Tensor。

支持平台:

GPU

样例:

>>> from mindspore import Tensor, ops
>>> import mindspore as ms
>>> x = Tensor([[1, 0], [-5, 0]], ms.float32)
>>> output = ops.dense_to_sparse_coo(x)
>>> print(output.indices)
[[0 0]
[1 0]]
>>> print(output.values)
[ 1. -5.]
>>> print(output.shape)
(2, 2)