尝试从大型 NumPy 数组构造 Scipy csr_matrix时"Killed: 9"错误



我正在尝试解决一个马尔可夫链问题,其中转移矩阵包含大约 ~150,000 行和列,但它是稀疏的(只有大约 ~450,000 个元素是非零的)。

我注意到尝试从该大小的np.zeros数组构造csr_matrix矩阵会导致Killed: 9错误:

In [139]: N = 150000
In [140]: T = np.zeros((N, N))
In [142]: import scipy.sparse
In [143]: _T = scipy.sparse.csr_matrix(T)
Killed: 9

是否可以建造这种尺寸的csr_matrix?我是否需要将矩阵T作为csr_matrix启动并完全省去 NumPy 数组?

您的进程被"杀死:9"主要是因为该进程占用了太长时间或太多的系统内存,并且已作系统终止。就像在注释中一样,您可以使用csr_matrix直接构造稀疏矩阵:

_T = scipy.sparse.csr_matrix((N,N))

最新更新