如何向客户端提交 map_blocks 操作
How to submit map_blocks operation to a Client
我正在尝试按块评估 dask 数组上的函数。我可以成功地做到以下几点:
import numpy as np
import dask.array as da
arr = np.random.randint(0, 9, (4, 4))
darr = da.from_array(arr, chunks=(2, 2))
def block_mean(block):
return np.array([[block.mean()]])
r = darr.map_blocks(block_mean)
out_arr = r.compute()
如何在 Client
中复制它?我尝试了以下方法:
import numpy as np
import dask.array as da
arr = np.random.randint(0, 9, (4, 4))
darr = da.from_array(arr, chunks=(2, 2))
def block_mean(block):
return np.array([[block.mean()]])
r = darr.map_blocks(block_mean)
c = Client()
# The following does not work
out = c.submit(r)
为了保持简短:您根本不需要做任何事情;如果你定义一个Client
,它将成为默认的调度器,而.compute()
使用默认的调度器(除非指定)。
r = darr.map_blocks(block_mean)
c = Client()
out_arr = r.compute()
如果您阅读 submit
的文档,它需要一个函数 - 有很多关于如何使用它的示例。
我正在尝试按块评估 dask 数组上的函数。我可以成功地做到以下几点:
import numpy as np
import dask.array as da
arr = np.random.randint(0, 9, (4, 4))
darr = da.from_array(arr, chunks=(2, 2))
def block_mean(block):
return np.array([[block.mean()]])
r = darr.map_blocks(block_mean)
out_arr = r.compute()
如何在 Client
中复制它?我尝试了以下方法:
import numpy as np
import dask.array as da
arr = np.random.randint(0, 9, (4, 4))
darr = da.from_array(arr, chunks=(2, 2))
def block_mean(block):
return np.array([[block.mean()]])
r = darr.map_blocks(block_mean)
c = Client()
# The following does not work
out = c.submit(r)
为了保持简短:您根本不需要做任何事情;如果你定义一个Client
,它将成为默认的调度器,而.compute()
使用默认的调度器(除非指定)。
r = darr.map_blocks(block_mean)
c = Client()
out_arr = r.compute()
如果您阅读 submit
的文档,它需要一个函数 - 有很多关于如何使用它的示例。