我正在使用anderfull库charm4py在由多台机器组成的集群上并行执行任务。我只是使用函数charm.pool.map
,该函数记录在 there .
使用经典的 list(tqdm.tqdm(char.pool.map(...),total=...))
不起作用:进度条被打印,但仅在最后一个之后打印迭代。
这个应该怎么写呢?这可能吗?
编辑:交叉发布在 charm4py 问题上:https://github.com/UIUC-PPL/charm4py/issues/178
最佳答案
根据 @lrnv 关于 multi_future
的建议,以下代码应正确显示工作池的进度。
from charm4py import charm
from tqdm import tqdm
futures = charm.pool.map_async(func, iterable, multi_future=True)
pBar = tqdm(total=len(futures))
for future in charm.iwait(futures):
# Do something with future.get()
pBar.update()
关于python - charm.pool.map 和 tqdm : obtain a progressbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63671000/