Python:稀疏矩阵的scipy.sparse比numpy.matmul慢

时间:2019-06-28 19:56:54

标签: python numpy scipy sparse-matrix

我有一个稀疏矩阵,其中稀疏项超过50%。我正在尝试使用scipy.sparse和numpy.matmul计算其矩阵乘法。具有讽刺意味的是,在密集和稀疏矩阵上,numpy.matmul的乘法时间都比scipy.sparse短。

 import scipy
 import time
 start=time.time()
 SS=scipy.sparse.csr_matrix(grad_shaped)*scipy.sparse.csr_matrix(numpy.transpose(grad_shaped))
 SS1=SS.todense()
 end=time.time()
 print(end-start)

 start=time.time()
 SS2=numpy.matmul(grad_shaped[0],numpy.transpose(grad_shaped[0]))
 end=time.time()
 print(end-start)

我有float数据矩阵。零以0.0表示。它会导致更多时间吗?我已经尝试了不同大小的矩阵。随着矩阵大小的增加,numpy.matmul仍然比scipy.sparse.csr更快

0 个答案:

没有答案