mindspore.ops.dense_to_sparse_csr

mindspore.ops.dense_to_sparse_csr(tensor)[源代码]

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

Note

现在只支持2维Tensor。

参数:

  • tensor (Tensor) - 一个稠密Tensor,必须是2维。

返回:

返回一个2维的CSRTensor,是原稠密Tensor的稀疏化表示。其中数据分别为:

  • indptr (Tensor) - 一维整数张量,其中M等于 shape[0] + 1 , 表示每行非零元素的在 values 中存储的起止位置。

  • indices (Tensor) - 一维整数张量,其中N等于非零元素数量,表示每个元素的列索引值。

  • values (Tensor) - 一维张量,用来表示索引对应的数值。

  • shape (tuple(int)) - 整数元组,用来指定稀疏矩阵的稠密形状。目前只支持2维Tensor输入,所以 shape 长度只能为2。

异常:

  • TypeError - tensor 不是Tensor。

  • ValueError - tensor 不是2维Tensor。

支持平台:

GPU

样例:

>>> from mindspore import Tensor
>>> import mindspore as ms
>>> x = Tensor([[1, 0], [-5, 0]], ms.float32)
>>> output = ops.dense_to_sparse_csr(x)
>>> print(output)