forked from mindspore-Ecosystem/mindspore
32 lines
1.9 KiB
ReStructuredText
32 lines
1.9 KiB
ReStructuredText
mindspore.nn.SparseTensorDenseMatmul
|
||
=====================================
|
||
|
||
.. py:class:: mindspore.nn.SparseTensorDenseMatmul(adjoint_st=False, adjoint_dt=False)
|
||
|
||
稀疏矩阵 `a` 乘以稠密矩阵 `b` 。稀疏矩阵和稠密矩阵的秩必须等于2。
|
||
|
||
**参数:**
|
||
|
||
- **adjoint_st** (bool) - 如果为True,则在乘法之前转置稀疏Tensor。默认值:False。
|
||
- **adjoint_dt** (bool) - 如果为True,则在乘法之前转置稠密Tensor。默认值:False。
|
||
|
||
**输入:**
|
||
|
||
- **indices** (Tensor) - 二维Tensor,表示元素在稀疏Tensor中的位置。支持int32、int64,每个元素值都应该是非负的。shape为 :math:`(n, 2)` 。
|
||
- **values** (Tensor) - 一维Tensor,表示 `indices` 位置上对应的值。支持float16、float32、float64、int32、int64。shape为 :math:`(n,)` 。
|
||
- **sparse_shape** (tuple) - 指定稀疏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不符合参数说明。
|