首页 > 解决方案 > 使用 tqdm 与 dask 分布式

问题描述

我使用以下代码来并行化我的图像处理功能:

from dask.distributed import Client
from dask.distributed import progress

def processImage(image_in_path, image_out_path)
    im = read_image(image_path)
    im_processed = gradient(im)
    write_image(im, image_out_path)

client = Client()

in_list = list_image(dir_path)
out_list = ...
comp = client.map(processImage, in_list, out_list)
progress(comp)

由于我已经在我的代码中使用 tqdm,并且我喜欢它的功能,是否可以使用它来绘制此类计算的进度?

我看到这篇文章链接到tqdm pull request,但我认为它是针对本地的 dask,而不是分布式的 dask。所以它不是为分布式接口制作的。或者也许我错过了一些东西......

我在 dask progress 的代码中做了一点,但我不清楚如何将 tqdm 插入它......

有什么解决办法吗?

非常感谢

标签: pythondasktqdm

解决方案


正如您所建议的,您可以以与实现 dask 功能相同的方式实现 tqdm 进度条progress。随着工作的完成,您可能希望使用该feed路线来获取更新的提要。


推荐阅读