mindspore.ops.csr_mm
- mindspore.ops.csr_mm(a, b, trans_a=False, trans_b=False, adjoint_a=False, adjoint_b=False)[source]
Return the matrix multiplication result of the right-multiply matrix (dense or CSRTensor) of the CSRTensor. The CSRTensor with shape [M, N] needs to adapt the right matrix with shape [N, K] to get the dense matrix or CSRTensor with result [M, K].
Warning
This interface is deprecated and will be removed after version 2.9.0.
Note
If right matrix is CSRTensor, currently only supports GPU backend. If right matrix is Tensor, currently supports CPU backend with LLVM no lower than 12.0.1, and GPU backend.
- Parameters
a (CSRTensor) – Sparse CSR Tensor, rank should be 2.
b (CSRTensor) – Sparse CSR Tensor, rank should be 2.
trans_a (bool, optional) – whether to transpose CSRTensor a. Default:
False.trans_b (bool, optional) – whether to transpose CSRTensor b. Default:
False.adjoint_a (bool, optional) – whether to adjoint CSRTensor a. Default:
False.adjoint_b (bool, optional) – whether to adjoint CSRTensor b. Default:
False.
- Returns
CSRTensor.
- Supported Platforms:
GPU
Examples
>>> from mindspore import Tensor, CSRTensor >>> from mindspore import dtype as mstype >>> from mindspore import ops >>> a_shape = (4, 5) >>> a_indptr = Tensor([0, 1, 1, 3, 4], dtype=mstype.int32) >>> a_indices = Tensor([0, 3, 4, 0],dtype=mstype.int32) >>> a_values = Tensor([1.0, 5.0, -1.0, -2.0], dtype=mstype.float32) >>> b_shape = (5, 3) >>> b_indptr = Tensor([0, 1, 1, 3, 3, 3], dtype=mstype.int32) >>> b_indices = Tensor([0, 0, 1],dtype=mstype.int32) >>> b_values = Tensor([2.0, 7.0, 8.0], dtype=mstype.float32) >>> a = CSRTensor(a_indptr, a_indices, a_values, a_shape) >>> b = CSRTensor(b_indptr, b_indices, b_values, b_shape) >>> c = ops.csr_mm(a, b) >>> print(c.shape) (4, 3) >>> print(c.values) [2. -4.] >>> print(c.indptr) [0 1 1 1 2] >>> print(c.indices) [0 0]