Как исправить ошибку AssertionError в многопроцессорном модуле pathos.helpers?

Я использую многопроцессорный модуль на основе укропа из pathos.helpers, который имеет однозначное сопоставление с регулярным multiprocessing, Это работало нормально, пока я не начал получать AssertionError,

Мой вопрос очень похож на то, что многопроцессный модуль Pythons (с укропом) выдает бесполезную ошибку AssertionError, за исключением того, что я использую Mac. Я пробовал это с и без pool.close() а также pool.join(),

Модуль из pathos.helpers кажется, не имеет clear() а также restart() методы - имеет смысл, учитывая сопоставление с multiprocessing, Это также кеширует пулы, как комментарий к этому вопросу указывает на pathos.multiprocessing? Если да, как я могу предотвратить это?

Вот упрощенная версия моего кода:

from pathos.helpers import mp
if __name__ == '__main__':
    l = mp.Lock()
    pool = mp.Pool(initializer=init, initargs=(l,), processes = 4)
    results = pool.map(run_func, xyz)
    pool.close()
    pool.join()

Вот ошибка, которую я получаю:

Traceback (most recent call last):
  File "run_xyz.py", line 284, in <module>
    results = pool.map(run_func, xyz)
  File "/usr/local/lib/python2.7/site-packages/multiprocess/pool.py", line 253, in map
    return self.map_async(func, iterable, chunksize).get()
  File "/usr/local/lib/python2.7/site-packages/multiprocess/pool.py", line 572, in get
    raise self._value
AssertionError

0 ответов

Другие вопросы по тегам