gpt4 book ai didi

python - 检索 SciPy 稀疏矩阵消耗的字节数

转载 作者:太空宇宙 更新时间:2023-11-04 02:58:00 25 4
gpt4 key购买 nike

假设我想监控我的 SciPy 稀疏矩阵 mat 占用的内存。在 NumPy 中我会利用 nbytes 属性,但在 SciPy 中似乎没有那样的东西。我怎样才能检索到这些信息?

最佳答案

我有稀疏矩阵X

In [605]: X
Out[605]:
<100x100 sparse matrix of type '<class 'numpy.float64'>'
with 1000 stored elements in Compressed Sparse Row format>

getsizeof 没有告诉我任何有用的信息

In [606]: import sys
In [607]: sys.getsizeof(X)
Out[607]: 28

对于存储在 3 个数组中的 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格式

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、4字节*1000、4字节*X.shape[0]等

其他格式需要了解它们的数据存储方法(例如lildok 等)。

关于python - 检索 SciPy 稀疏矩阵消耗的字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41839279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com