提问人:Tartar 提问时间:9/28/2023 更新时间:9/28/2023 访问量:16
Python Joblib 并行:不平衡并行处理
Python Joblib Parallel: Unbalanced Parallel Processing
问:
我有一个数据帧,需要应用一些计算。为了减少时间,我将 DataFrame 分为 4 个子集并将它们存储在列表中。然后我尝试使用 Parallel 并将我的进程应用于每个 df 子集,并从 joblib 延迟。线路如下:
Parallel(n_jobs=4)(delayed(process_name)(df_subset) for df_subset in df_list)
但问题是,每个过程的经过时间都是超级不稳定和不平衡的。(通常,最后一个线程需要太多时间。图片是:(https://i.stack.imgur.com/Yagep.png)
为什么会这样?以及如何解决这个问题?有什么替代方案? (Windows 10、Python 3.10.7、joblib 1.2.0、pandas 1.5.3、numpy 1.24.2)
我期望的是平衡每个线程的处理时间,并减少一般的处理时间。
答: 暂无答案
评论