forked from mindspore-Ecosystem/mindspore
31 lines
2.1 KiB
ReStructuredText
31 lines
2.1 KiB
ReStructuredText
mindspore.ops.SparseTensorDenseMatmul
|
||
======================================
|
||
|
||
.. py:class:: mindspore.ops.SparseTensorDenseMatmul(adjoint_st=False, adjoint_dt=False)
|
||
|
||
稀疏矩阵 `A` 乘以稠密矩阵 `B` 。稀疏矩阵和稠密矩阵的秩必须等于2。
|
||
|
||
参数:
|
||
- **adjoint_st** (bool) - 如果为True,则在乘法之前转置稀疏矩阵 `A` 。默认值:False。
|
||
- **adjoint_dt** (bool) - 如果为True,则在乘法之前转置稠密矩阵 `B` 。默认值:False。
|
||
|
||
输入:
|
||
- **indices** (Tensor) - 二维Tensor,表示元素在稀疏Tensor中的位置。支持int32、int64,每个元素值都应该是非负的。shape是 :math:`(n,2)` 。
|
||
- **values** (Tensor) - 一维Tensor,表示 `indices` 位置上对应的值。支持float16、float32、float64、int32、int64、complex64、complex128。shape是 :math:`(n,)` 。
|
||
- **sparse_shape** (tuple(int) 或 Tensor) - 指定稀疏Tensor的shape,由两个正整数组成,表示稀疏Tensor的shape为 :math:`(N, C)` 。
|
||
- **dense** (Tensor) - 二维Tensor,数据类型与 `values` 相同。
|
||
|
||
如果 `adjoint_st` 为False, `adjoint_dt` 为False,则shape必须为 :math:`(C, M)` 。
|
||
如果 `adjoint_st` 为False, `adjoint_dt` 为True,则shape必须为 :math:`(M, C)` 。
|
||
如果 `adjoint_st` 为True, `adjoint_dt` 为False,则shape必须为 :math:`(N, M)` 。
|
||
如果 `adjoint_st` 为True, `adjoint_dt` 为True,则shape必须为 :math:`(M, N)` 。
|
||
|
||
输出:
|
||
Tensor,数据类型与 `values` 相同。
|
||
如果 `adjoint_st` 为False,则shape为 :math:`(N,M)` 。
|
||
如果 `adjoint_st` 为True,则shape为 :math:`(C,M)` 。
|
||
|
||
异常:
|
||
- **TypeError** - 如果 `adjoint_st` 或 `adjoint_dt` 的数据类型不是bool,或者 `indices` 、 `values` 、 `dense` 的数据类型不符合参数中所描述支持的数据类型。
|
||
- **ValueError** - 如果 `sparse_shape` 、 `indices` 、 `values` 和 `dense` 的shape不符合参数中所描述支持的数据类型。
|