当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python mxnet.ndarray.sparse.RowSparseNDArray用法及代码示例


用法:

class mxnet.ndarray.sparse.RowSparseNDArray(handle, writable=True)

基础: mxnet.ndarray.sparse.BaseSparseNDArray

一组 NDArray 行切片在给定索引处的稀疏表示。

RowSparseNDArray 表示使用两个单独数组的多维 NDArray:dataindices。维数必须至少为 2。

  • 数据:具有形状 [D0, D1, ..., Dn] 的任何 dtype 的 NDArray。
  • 索引:一维 int64 NDArray,形状为 [D0],其值按升序排序。

属性

data

RowSparseNDArray的数据数组的深拷贝NDArray

indices

RowSparseNDArray 的索引数组的深拷贝 NDArray

indices 存储非零的行切片的索引,而值存储在 data 中。 RowSparseNDArrayrsp所代表的对应的NDArraydense

dense[rsp.indices[i], :, :, :, ...] = rsp.data[i, :, :, :, ...]

>>> dense.asnumpy()
array([[ 1.,  2., 3.],
       [ 0.,  0., 0.],
       [ 4.,  0., 5.],
       [ 0.,  0., 0.],
       [ 0.,  0., 0.]], dtype=float32)
>>> rsp = dense.tostype('row_sparse')
>>> rsp.indices.asnumpy()
array([0, 2], dtype=int64)
>>> rsp.data.asnumpy()
array([[ 1.,  2., 3.],
       [ 4.,  0., 5.]], dtype=float32)

RowSparseNDArray 通常用于表示形状为 [LARGE0, D1, .. , Dn] 的大型 NDArray 的非零行切片,其中 LARGE0 >> D0 和大多数行切片为零。

RowSparseNDArray 主要用于定义具有稀疏梯度的操作(例如稀疏点和稀疏嵌入)的梯度。

相关用法


注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.ndarray.sparse.RowSparseNDArray。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。