我正在尝试实现光谱聚类算法以解决图问题中的社区。
我有一个非常大的矩阵来计算其特征向量,矩阵> 1Mx1M。
Numpy和Scipy需要将矩阵存储在内存中以进行计算,在我看来,这是不可能的。
还有其他用于计算本征向量和值而不是内存的库或软件包(就像HDF5允许我们在磁盘上存储和操作数据一样吗?
或者您有什么建议可以解决吗?
增加交换文件的大小。
请参阅:What is virtual memory?Creating a swap spaceUsing a swap space
另外,系统通常也会在资源监视器中实时报告。
对于Ubuntu
[<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS8zUnJiYi5wbmcifQ==” alt =“显示交换空间使用情况的资源监视器示例”>
也许关于您的大型矩阵问题,我的问题为时已晚。但我也想像您一样使用python [numpy.linalg.eig()
(对于稠密矩阵)或scipy.sparse.linalg.eigsh
(对于稀疏矩阵)]计算巨大矩阵的特征向量。我得到的问题是,我所有计算出的特征向量的条目都为零。这是您在谈论的内存问题吗?您是否找到了解决方案?