代码之家  ›  专栏  ›  技术社区  ›  Sandro

如何为具有大型数据集的python多处理选择块大小

  •  5
  • Sandro  · 技术社区  · 15 年前

    我试图使用python在一个可以使用 http://docs.python.org/library/multiprocessing .

    当查看他们的库时,他们说要对很长的iterable使用块大小。现在,我的iterable不长,它包含的一个dict是巨大的:~100000个条目,元组作为键,numpy数组作为值。

    如何设置chunksize来处理此问题,如何快速传输此数据?

    谢谢您。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Thomas Wouters    15 年前

    在多个工作人员中同时处理单个大型项目的唯一方法是将其拆分。 multiprocessing 它的工作原理是以单位来划分工作,但是你能提供给它的最小单位是一个对象——它不知道如何以一种合理的方式来划分单个对象。相反,你必须自己做。与其发送要处理的听写,不如将听写拆分到较小的工作单元,然后将它们发送过来。如果由于所有数据都是相互依赖的,所以无法拆分dict,那么也不能真正拆分工作。