分布式dask:将驻留在不同工作者上的向量集合相加
我有一个很大的向量集,这些向量是根据不同的数据计算的,因此它们位于不同的工作者身上。以下代码是最有效的吗分布式dask:将驻留在不同工作者上的向量集合相加,dask,dask-distributed,Dask,Dask Distributed,我有一个很大的向量集,这些向量是根据不同的数据计算的,因此它们位于不同的工作者身上。以下代码是最有效的吗 grads = [client.submit(compute_grad, x) for x in xs] # list of futures gradsum_future = client.compute(db.from_sequence(grads).fold(operator.add)) gradsum = client.gather(gradsum_future) 下面是我如何实现它
grads = [client.submit(compute_grad, x) for x in xs] # list of futures
gradsum_future = client.compute(db.from_sequence(grads).fold(operator.add))
gradsum = client.gather(gradsum_future)
下面是我如何实现它的——这对你有用吗
grads=client.map(compute_grad,xs)
gradsum\u future=client.submit(sum,grads)
gradsum=gradsum_future.result()
上述代码会因按键错误而不确定地失败xs
的类型是什么,compute\u grad
产生什么?这些有多大?X是通过pickle发送的小python对象。compute_grad生成具有200万个浮点的numpy数组