- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想逐步构建一个非常大的稀疏矩阵。问题是 lil_matrix
占用了太多 RAM,以至于效率低下。例如,如果我想创建一个 2000 万 x 2000 万的 lil_matrix
,它会完全耗尽我的 RAM。另一方面,csr_matrix
几乎不占用空间。然而,据称 csr_matrix
的修改效率很低。有没有其他方法可以在不占用太多 RAM 空间的情况下获得 lil_matrix
的好处?另外,为什么它一开始就占用了这么多空间,因为它应该是一个稀疏矩阵?
注意:真正的问题实际上不是创建这么大的矩阵,而是创建以下list
:
list = [sp.lil_matrix((150,150)) for i in range(1000)]
这也炸毁了我的 RAM。
最佳答案
我并没有声称有完整的答案,但我觉得如果你看一下矩阵内部结构,你就会找到答案。
In [12]: s = sparse.csr_matrix((5,5))
In [13]: s.__dict__
Out[13]:
{'_shape': (5, 5),
'data': array([], dtype=float64),
'format': 'csr',
'indices': array([], dtype=int32),
'indptr': array([0, 0, 0, 0, 0, 0], dtype=int32),
'maxprint': 50}
In [14]: s.indptr.nbytes
Out[14]: 24
In [15]: l = sparse.lil_matrix((5,5))
In [16]: l.__dict__
Out[16]:
{'_shape': (5, 5),
'data': array([[], [], [], [], []], dtype=object),
'dtype': dtype('float64'),
'format': 'lil',
'maxprint': 50,
'rows': array([[], [], [], [], []], dtype=object)}
In [17]: l.data.nbytes
Out[17]: 40
In [18]: l.rows.nbytes
Out[18]: 40
关于Python:非常大的稀疏矩阵中的 lil_matrix 与 csr_matrix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32743584/
这是我要做的事情的一个例子: my_rows = [[1, 3], [0, 2], [], [1]] my_data = [[1,1], [1,1], [],[1]] 我想创建一个像这样的矩阵: im
如何快速提取 scipy.sparse.lil_matrix 的两行并对它们应用按位运算?我试过: np.bitwise_and(A[1,:], A[2,:]) 但根据文档,NumPy 似乎需要数组类
我使用稀疏 lil_matrix 格式存储具有两种类型关系的图形。这就是我正在做的: e=15 k= 2 X = [lil_matrix((e,e)) for i in range(k)] #stor
我想将我的稀疏 scipy.lil_matrix 矩阵除以向量并再次获得稀疏矩阵。假设我有 2 个 lil_matrix 变量和 2 个 numpy 数组 a, b, c, d,像这样 In [1]:
我想逐步构建一个非常大的稀疏矩阵。问题是 lil_matrix 占用了太多 RAM,以至于效率低下。例如,如果我想创建一个 2000 万 x 2000 万的 lil_matrix,它会完全耗尽我的 R
我想从 scipy 稀疏矩阵中提取特定的行和列 - 可能 lil_matrix 将是这里的最佳选择。 它在这里工作正常: from scipy import sparse lilm=sparse.li
我有一个生成器,可以生成相同长度的单维 numpy.array 。我想要一个包含该数据的稀疏矩阵。行的生成顺序与我希望它们出现在最终矩阵中的顺序相同。 csr 矩阵优于 lil 矩阵,但我认为后者在我
在 Scipy 稀疏 lil_matrix 中找到最大值及其对应的行和列索引的最佳方法是什么?目的 ?我可以loop through the nonzero entries using itertoo
我有维数约为 200.000 的稀疏向量。我还有一个矩阵,其列数和行数与向量数相同。我想以增量方式将所有这些设置为矩阵,也就是说,第一个向量应该设置为第一行,依此类推。 目前,矩阵和向量的类型是 sc
我想迭代构建稀疏矩阵,并注意到根据 SciPy 文档有两个合适的选项: LiL matrix : class scipy.sparse.lil_matrix(arg1, shape=None, dty
我是一名优秀的程序员,十分优秀!