mxnet基础到提高(47)-RowSparseNDArray行切片的稀疏表示

类mxnet.ndarray.sparse.RowSparseNDArray(handle,writable = True)[
bases:mxnet.ndarray.sparse.BaseSparseNDArray
在给定索引处的一组NDArray行切片的稀疏表示。
RowSparseNDArray使用两个单独的数组表示多维NDArray:数据和索引。 尺寸数必须至少为2。

数据:形状为[D0,D1,…,Dn]的任何dtype的NDArray。

索引:形状为[D0]的一维int64 NDArray,其值按升序排序。

属性

data
RowSparseNDArray的数据数组的深拷贝NDArray。

indices
RowSparseNDArray的索引数组的深层副本NDArray。

索引(indices )存储具有非零值的行切片的索引,而值存储在数据(data)中。
由RowSparse 的NDArray b表示的相应NDArray x为

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

RowSparseNDArray通常用于表示形状为[LARGE0,D1,… Dn]的大型NDArray的非零行切片,其中LARGE0 >> D0且大多数行切片为零。
RowSparseNDArray主要用于梯度的定义中,以用于具有稀疏梯度的操作(例如,稀疏点和稀疏嵌入)。

from mxnet import nd
import mxnet as mx
a = mx.nd.array([[0, 1, 0,1,1], [2,0,1, 0, 0], [0,0,0,0,0],[0, 0, 0,0,0], [0, 1,0,3,2]])
b = a.tostype('row_sparse')
print(b.indices.asnumpy())
print(b.data.asnumpy())
[0 1 4]
[[0. 1. 0. 1. 1.]
 [2. 0. 1. 0. 0.]
 [0. 1. 0. 3. 2.]]
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页