首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >慢csr矩阵构造

慢csr矩阵构造
EN

Stack Overflow用户
提问于 2015-07-09 15:58:18
回答 1查看 855关注 0票数 4

我正在使用csr_matrix((data, indices, indptr), shape=[row, col])方法创建一个csr矩阵。执行构造方法csr_matrix()比构建data, indices, indptr本身花费了4倍多的时间。既然我已经有了(data, indices, indptr)元组,那么构造一个csr矩阵难道不是很琐碎(而且快速)吗?

我的代码和时间统计如下:

代码语言:javascript
复制
data = ...  # 2.207s
indices = ...  # 11.065s       
indptr = ...  # 0.047s          
matrix = csr_matrix((data, indices, indptr), shape=(row, col))  # 57.806s
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-09 20:20:39

您传递的数组似乎很大,因此它们可能在某个地方被复制,由此产生的内存问题导致了速度的放缓。

有几种方法可以复制数组。如果这些条件中的任何一个都是假的,则将产生副本:

  • indicesindptr需要具有适当的索引dtype。
  • 这三个都需要是numpy数组(numpy.ndarray)。
  • copy kwarg必须是False。默认情况下,这是错误的,因此这不太可能是问题所在。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31322599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档