0 Вопрос: Как обернуть ProcessPoolExecutor, чтобы он позволял не-демонические процессы

вопрос создан в Wed, May 8, 2019 12:00 AM

В моем случае мне нужно запустить ProcessPoolExecutor внутри ProcessPoolExecutor, поэтому было бы очень удобно разрешить ProcessPoolExecutor иметь недемонические процессы.

Мне интересно, как изменить это поведение с минимальными изменениями, оборачивая ProcessPoolExecutor?

----------- Update -------------------

Мой пример использования в машинном обучении, где мы распараллеливаем эксперименты с различными настройками гиперпараметра с внешним ProcessPoolExecutor, а сам алгоритм также распараллеливается с внутренним ProcessPoolExecutor.

игрушечный пседокод выглядит как

def algo(config):
    candidates = make_candidates(...)
    with ProcessPoolExecutor() as executor:
        executor.map(evaluation, candidates)

configs = make_configs(...)
with ProcessPoolExecutor() as executor:
    executor.map(algo, configs)

    
0
  1. не могли бы вы опубликовать некоторый код для мотивации этого варианта использования? это звучит несколько ошибочно в данный момент! почему бы просто не оценить вещи, используя подходящего (внешнего) исполнителя?
    2019-05-09 13: 11: 43Z
  2. @ SamMason Спасибо за комментарий. У меня есть пример использования в экспериментах по машинному обучению, и в пост добавлен пример игрушечного кода с объяснением.
    2019-05-09 13: 18: 56Z
  3. только что понял, что для меня это немного похоже на бомбу! внешний исполнитель будет распределять процессы по количеству nCPU, а затем каждый внутренний исполнитель будет делать то же самое. Я думаю, что вам лучше рефакторинг вашего кода, или, возможно, использование чего-то более высокого уровня, который может лучше справиться с этим вариантом использования. тем более что вы, вероятно, используете числовые библиотеки, которые также будут порождать множество потоков, чтобы быстрее выполнять операции с большими массивами
    2019-05-09 13: 27: 13Z
0 ответов                              0                         
источник размещен Вот