charm.pool.map & tqdm: 获取进度条
charm.pool.map & tqdm: obtain a progressbar
我正在使用 wanderfull 库 charm4py to parralelise tasks on a cluster of several machines. I'm just using the function charm.pool.map
, which is documented 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()
我正在使用 wanderfull 库 charm4py to parralelise tasks on a cluster of several machines. I'm just using the function charm.pool.map
, which is documented 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()