在python中稀疏矩阵的并行计算

单体

我有一个大的[numpy]向量X和一个比较函数f(x,y)我需要找到X的所有成对元素,对于它们f(X[I],X[j])<T的某个阈值T。这很好:

good_inds = {}
for i in range(0,len(X)):
   for j in range(x+1,len(X)):
       score = f(X[i],X[j])
       if score<T:
           good_inds[x,y] = score

实际上,这会构建一个字典,该字典表示稀疏矩阵。问题是它相当慢,我希望并行化此过程。请指教。

单体

所以。显然,SciPy已经足够好了。

full_dist_mat = spatial.distance.squareform( spatial.distance.pdist(vects2, metric='cosine'))

已经优化。在Macbook Pro上的jupyter实验室中,运行2000个向量需要1.3秒。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章