如何在Dask图中调用无参数函数?
在Dask图中调用无参数函数的正确方式
当你直接将无参数函数赋值给Dask图的键时,Dask会把它视为普通数据而非需要执行的任务,因此返回的是函数对象本身。要让Dask执行这个无参数函数,你可以用以下两种方式定义任务:
方法1:使用元组语法
Dask任务的标准格式是(函数, 参数1, 参数2, ...),对于无参数函数,只需保留函数名和空参数部分,写成(ask,)即可:
dsk = {'res': (ask,)} dask.get(dsk, 'res')
方法2:使用dask.delayed包装函数
如果你更习惯delayedAPI的写法,可以先包装无参数函数,再将包装后的对象放入Dask图:
from dask import delayed delayed_ask = delayed(ask) dsk = {'res': delayed_ask} dask.get(dsk, 'res')
这两种方式都能让Dask正确识别并执行ask函数,返回它的调用结果而非函数对象本身。
内容的提问来源于stack exchange,提问作者koralgooll
相关产品推荐
相关产品推荐

