當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。