gpt4 book ai didi

python - 确定 dask 计算某事物的次数

转载 作者:行者123 更新时间:2023-12-01 08:46:21 26 4
gpt4 key购买 nike

问题

我想知道是否可以使用 dask (特别是 dask 数组)来知道是否以及何时计算了某些内容。我正在考虑单元测试,想知道 dask 计算了一个数组多少次。类似于模拟对象知道它们被调用了多少次。这样的东西已经存在了吗?如果没有,有没有比制作 custom callback 更好的方法? ?如果这不存在,dask 核心开发人员是否有兴趣添加到 core dask 中进行测试?

详细信息

假设我有一个函数,它接受 xarray DataArray,对其执行一些操作,然后返回它。在某些情况下,dask 数组会隐式转换为 numpy 数组,包括新的 dask 用户不知道执行某些操作的最佳 dask 友好方式。我想编写单元测试,以确保我或其他贡献者不会意外损害函数的性能。考虑到测试数据通常是现实世界案例的简化/小版本,并且在这些情况下可能看不到多次计算 dask 数组的性能影响,这一点尤其重要。

最佳答案

有多种方式可以触发执行。

其中一种方法是指定自定义调度程序:

def my_scheduler(dsk, keys, **kwargs):
print('computing!')
return dask.get(dsk, keys, **kwargs)

with dask.config.set(scheduler=my_scheduler):
...

Custom callbacks ,就像你建议的那样也很容易实现。

如果您专门使用 dask 数组,那么您可以查看 array plugins

测试套件中还使用了多种其他方法。

关于python - 确定 dask 计算某事物的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53289286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com