我有一个函数,称之为get_block(I, J)
,它接受两个索引集I
和J
,并返回一个scipy.sparse.csr_matrix
,其中的条目取自更大的稀疏矩阵。例如,get_block(I, J) == S[I, :][:, J]
,除了S
太大而无法放入内存之外
我想使用函数get_block
组装dask.array
版本的S
,迭代对应于dask块的(I, J)
对。我想创建一个S
的核心外版本,尽管它超过了可用内存,但我仍然能够使用它进行计算。Dask被宣传为解决这个用例,所以我想我会尝试一下
我不清楚最好的方法是什么。我似乎能够做这样的事情:
block1 = da.from_array(get_block(I, J1))
block2 = da.from_array(get_block(I, J2))
blocked = da.block([block1, block2])
使用这种方法,我可以将所有(I, J)
对和da.block
结果循环在一起,但这并不是一个好方法
有没有一种惯用的方法可以做到这一点?达斯克是正确的选择吗
目前没有回答
相关问题 更多 >
编程相关推荐