2024-04-26 20:17:07 发布
网友
假设我想监视SciPy稀疏矩阵mat占用的内存。在NumPy中,我会利用nbytes属性,但在SciPy中似乎没有这样的东西。 如何检索这些信息?在
mat
nbytes
我有稀疏矩阵X
X
In [605]: X Out[605]: <100x100 sparse matrix of type '<class 'numpy.float64'>' with 1000 stored elements in Compressed Sparse Row format>
getsizeof没有告诉我任何有用的信息
getsizeof
对于存储在3个数组中的csr矩阵,稀疏数据和索引如下:
csr
In [612]: X.data.nbytes Out[612]: 8000 In [613]: X.indices.nbytes Out[613]: 4000 In [614]: X.indptr.nbytes Out[614]: 404
所以大概总空间就是这些值的总和。在
对于coo格式
coo
In [615]: Xc=X.tocoo() In [616]: Xc.data.nbytes Out[616]: 8000 In [617]: Xc.row.nbytes Out[617]: 4000 In [618]: Xc.col.nbytes Out[618]: 4000
我们可以从shape、dtype和nnz计算这些值;例如8字节*1000,4bytes*1000,4bytes*X.shape[0]等等
其他格式需要了解它们的数据存储方法(例如lil,dok,等等)。在
lil
dok
我有稀疏矩阵
X
^{pr2}$getsizeof
没有告诉我任何有用的信息对于存储在3个数组中的
csr
矩阵,稀疏数据和索引如下:所以大概总空间就是这些值的总和。在
对于
coo
格式我们可以从shape、dtype和nnz计算这些值;例如8字节*1000,4bytes*1000,4bytes*X.shape[0]等等
其他格式需要了解它们的数据存储方法(例如
lil
,dok
,等等)。在相关问题 更多 >
编程相关推荐