Python: запускайте многопроцессорные пулы и запускайте собственные многопроцессорные пулы.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python: запускайте многопроцессорные пулы и запускайте собственные многопроцессорные пулы.

Сообщение Anonymous »

Я занимаюсь обработкой списка массивов, и это рабочий процесс, который можно распараллелить в нескольких точках: один подпроцесс для каждого набора данных в списке и несколько подпроцессов, каждый из которых обрабатывает разные фрагменты. в массиве.
Я читал, что демонам процессов обычно не разрешается создавать свои собственные процессы, и был бы признателен за совет о том, можно ли преодолеть это ограничение и иметь подпроцессы запускать свои собственные подпроцессы.
Я написал небольшой пример кода для справки.

Код: Выделить всё

# Can a pool run their own pools?
import numpy as np
from multiprocessing import Pool

def do_something(
num: int,
data: list[int],
num_procs: int = 1,
):
args_list = []
for n in range(len(data)):
args_list.append([data[n], num])
with Pool(processes=num_procs) as pool:
results = pool.starmap(do_another_thing, args_list)
return results

def do_another_thing(
value1: int,
value2: int,
):
return value1 * value2

# Main
if __name__ == "__main__":

# Example dataset of a list of arrays
data = [np.random.randint(0, 255, (20)) for n in range(20)]

args_list = []
for i in range(len(data)):
args_list.append([i, data[i]])
with Pool(processes=4) as pool:
results = pool.starmap(do_something, args_list)

for result in results:
print(results)
Буду очень признателен за советы. Спасибо!


Подробнее здесь: https://stackoverflow.com/questions/787 ... sing-pools
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»